Результаты поиска по запросу "c++17"
теперь плохо сформирован без соответствующего исправления частичного упорядочения.
ня я читал страницу поддержки C ++ 17 clang. Я заметил кое-что странное. ОсобенностьСоответствие параметров шаблона шаблона совместимым аргументам ( P0522R0 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0522r0.html]) помечен как ...
И «это дает ожидаемый результат» - не повод думать, что это определенное поведение. Возвращение того, что я ожидаю, является одним из возможных результатов неопределенного поведения.
аю этоответ [https://stackoverflow.com/a/4176333/6935629]о неопределенном поведении, где я увидел следующее утверждение: ++++++i; // UB, parsed as (++(++(++i)))Я не думаю, что это неопределенное поведение. У меня есть сомнения, действительно ли ...
используется в ассоциативных контейнерах и т. д., однако, требуется умение сравнивать произвольные указатели, даже если это дороже.
роса: Правильно ли сформирован следующий код с определенным поведением? Есть ли возможная реализация C ++, в которой он может утверждать? Код (c ++ 11 и выше): #include <cassert> #include <utility> #include <ciso646> template<class T> ...
мы должны иметь возможность использовать его в качестве параметра шаблона.
аяКак мне написать лямбда-выражение, которое выглядит как метод? [https://stackoverflow.com/questions/47604606/how-do-i-write-a-lambda-expression-that-looks-like-a-method] Я попытался превратить безвоздушную лямбду в указатель на ...
это означает, что OP хочет получить ответ, подкрепленный ссылками на стандарт ISO C ++. Не имеет значения, что он компилируется (на самом деле многие нарушения ODR компилируются просто отлично).
отрим этот пример изcppreference [http://en.cppreference.com/w/cpp/language/definition]: struct S { static const int x = 1; }; void f() { &S::x; } // discarded-value expression does not odr-use S::xЯ согласен, что&S::x этовыражение ...
и его первый элемент является конвертируемым по указателю, даже если соответствующие указатели имеют явно выраженное представление.
чий проект стандарта N4659говорит: [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf] [Basic.compound] Если два объекта являются взаимозаменяемыми по указателю, то они имеют одинаковый адрес а затем отмечает, что Объект массива ...
это действительно сложно и довольно сложно, так как в игру вступает множество мощных хитростей мета-программирования. Этот ответ может охватывать только верхушку айсберга :-)
трю наstd:variant/std::visit Док здесь: http://en.cppreference.com/w/cpp/utility/variant/visit [http://en.cppreference.com/w/cpp/utility/variant/visit]а также погуглил много, пытаясь понять магию позадиstd::visit а такжеstd::variant. Итак, мой ...
@underscore_d - Конечно. Имена будут выдумывать это меньше, чем объекты.
ел бы использовать структурированные привязки C ++ 17 для присвоения значения переменной члена класса, например: #include <cmath> #include <iostream> struct Result { double value; bool error; }; Result square_root(double input) { return ...
Хорошо, я понял, спасибо.
вопрос следует за этимодин [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Давайте рассмотрим этот пример кода: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...
, По сути, создание и уничтожение такого указателя будет действовать как барьеры последовательности, но их использование не будет. Код, который создает такие указатели в узком цикле, может работать плохо, но возможность поставить барьеры вне цикла может позволить более эффективный код, чем это было бы возможно в противном случае.
сно этомуответ [https://stackoverflow.com/a/48062531/5632316], начиная с C ++ 17, даже если указатель имеет правильный адрес и разыменование правильного типа, это может вызватьнеопределенное поведение. alignas(int) unsigned char ...