Constantine
Что-то про stateless шифрование, типа алгоритмов, которые внутри mosh или wireguard.
Что-то про мусор, зачем QR код если все равно нужны арбитры и сертификаты
Constantine
Типа авторизации телеги
Constantine
Чтобы изначально аутентифицироваться при установлении открытого канала связи перед обменом ключами
Anonymous
Добрый вечер. Я совсем новичек в C++. Есть идея создания своего анонимного чата где бы человек мог общатся с другим по средсву обменов Qr кодов и между ними создавалась бы шифрованное соедитение.
Сейчас то же самое делаю, почитай о создании серверов, протоколов по типу Ssl и для UI Qt (можно что-то другое). Если на чистых, можно winsock или что-то типа curl, если Qt QNetwork
Ostap ꑭ
CLion 2018.1 is released: more C++17, WSL, CMake Install, new languages supported, and much more! | CLion Blog https://blog.jetbrains.com/clion/2018/03/clion-2018-1-cpp17-wsl-cmake-install/
Макс
Подскажите актуальный материал по работе с сетью на плюсах
🐙 Antony
Тут добрые люди застенограмили моё выступление: https://habrahabr.ru/company/oleg-bunin/blog/352280/ ^ для тех, кто не был на C++ Russia 2017, но хочет почитать хотя бы один доклад
Nikita
Спасибо)
Nikita
До этого было "an rvalue reference to a cv-unqualified template parameter"
Nikita
Вот сама бумага: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4262.pdf
Anatoliy
Кто-нибудь знает какой статус у предложения (если таковые есть) о class member initializers, где разрешается использовать auto в качестве type specifier-а (не только для static const/static constexpr а вообще)? Вот так struct A { auto i = 123; };.
Oleg
Че-т на какой-то джаваскриипт похоже.
Oleg
Более того - какой тип у i?
Nikita
это ж получается для полей можно будет выводить тип на основе условий
Nikita
аля std::conditional
Nikita
а стоп
Nikita
получается и сейчас же можно
Anatoliy
Anatoliy
получается и сейчас же можно
угу, но с жёстким дублированием кода
Anatoliy
и лямбду нельзя
Anatoliy
struct A { auto x = std::aligned_storage<sizeof(A), alignof(A)>{}; };
круто. что это? ты думаешь это контрпример?)
Александр
struct A { auto x = std::aligned_storage<sizeof(A), alignof(A)>{}; };
мы такие примеры и с noexcept(noexcept(..)) видали
Constantine
круто. что это? ты думаешь это контрпример?)
а что компилятор должен сделать? я могу сильно ошибаться, но сейчас в инициализаторе A считается complete type
Constantine
очевидно, что incomplete, не?
ну это было бы странно, пушо это часть тела конструктора, т.е. часть тела member function
Anatoliy
struct A { int i[sizeof(A)]; }; - это и сейчас невалидный код
Anatoliy
A - incomplete в деклараторе типа
Anatoliy
https://godbolt.org/g/eZU66j
ты троллишь?)
Constantine
ты троллишь?)
этот конструктор std::vector вызывает new A
Constantine
расскажите мне, как он инстанцирован по incomplete type
Anatoliy
замени std::vector< A > на std::array< A, sizeof(A) > - тогда справедливо
Anatoliy
значит везде в std::vector::vector используются A & и A * и подобное валидное
Constantine
я знаю, что с точки зрения описания класса A это incomplete type
Constantine
но с точки зрения инициализатора поля A это complete type
Anatoliy
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4371.html вроде бы уже действует
Anatoliy
так что std::vector< A >::vector не использует sizeof(A)
Constantine
https://godbolt.org/g/3Lr6j6
Constantine
конструктор std::vector::vector(size_t) не использует?
Constantine
который память аллоцирует?
Anatoliy
??????
это значит, что не зависит от type completeness
Constantine
type не зависит от completeness
Constantine
но std::vector::vector(size_t) не может быть инстанцирован для incomplete type
Constantine
как минимум смотрим второй пример
Constantine
там явная проверка
Constantine
с точки зрения class member initializer объявлямый тип является complete type
Anonymous
существует норм пример использования libev с C++11
Anonymous
?
Anatoliy
но std::vector::vector(size_t) не может быть инстанцирован для incomplete type
так он и будет инстанцирован для complete type
Constantine
в инициализаторе поля класса этот класс complete
Constantine
так что можно делать sizeof
Anatoliy
согласен
Constantine
так что struct A { auto x = sizeof(A); //??? };
Constantine
и любое выражение через is_detected любое поле A
Anatoliy
а в спецификаторе типа - нет
Anatoliy
struct A { auto x = sizeof(A); //??? }; - так было бы можно
Constantine
разумеется в class definition сам class это инкомплит тайп
Constantine
decltype(sizeof()) не определен для incomplete type
Constantine
я выше пример написал
Anatoliy
а struct A { auto x = std::integral_constant< std::size_t, sizeof(A) >{}; }; - нет
Anatoliy
decltype(sizeof()) не определен для incomplete type
он complete справа, уже ведь договорились
Constantine
он complete справа, уже ведь договорились
он не может быть complete в момент, когда проводится auto type deduction
Anatoliy
почему? что здесь не так?)
Constantine
потому что я парадокс лжеца построю
Constantine
как на noexcept
Anatoliy
так давай