Результаты поиска по запросу "language-lawyer"
.)
volatile Ключевое слово гарантирует, что чтение и запись имеют семантику получения и выпуска соответственно. Однако, это говорит что-нибудь о введенных чтениях или письмах? Например: volatile Thing something; volatile int aNumber; void Method() ...
Это исправлено в лязг ствола теперь :)
л по лямбда-захватам([Expr.prim.lambda.capture] / 5 [http://eel.is/c++draft/expr.prim.lambda#capture-5]) говорится, что Если идентификатор в простом захвате появляется как идентификатор объявления для параметра-объявления-объявления ...
@Justin Я искал "это не исключение" :)
я есть код, который требует от меня использовать*this, но я хочу, чтобы это было не иначе как дружелюбно struct foo; // Would actually be something with conditional noexcept void do_something(foo&); struct foo { void ...
а также
отрим следующую программу: template <class T> struct A { using X = typename T::X; }; template <class T, typename A<T>::X* = nullptr> void f(T, int); void f(...); template <class T> void g(T, int, typename A<T>::X* = nullptr); // # void g(...); ...
... на две категории диалектов, одна из которых не подходит для целей, связанных с низкоуровневым программированием, а другая поддерживает только ограниченную оптимизацию. Согласно Обоснованию C, Дух C включает в себя принцип «Не мешайте программисту делать то, что необходимо сделать». Оптимизация, основанная на идее, что программист не будет делать X, полезна только в тех случаях, когда программисту не нужно делать X. К сожалению, большинство аргументов об определенных поведениях полностью теряют это из виду.
ожет удивить некоторых кодеров, и, как ни удивительно, это невозможно реализоватьstd::vector без нестандартной поддержки компиляторов. Проблема, по сути, заключается в способности выполнять арифметику указателей на сырой области хранения. ...
среди реализаций, которые подходят для низкоуровневого программирования
артопределяет [http://eel.is/c++draft/basic.types#11]когда два типамакет-совместимый, Но я не вижу нигде в стандарте, каковы последствия, когда два типамакет-совместимый, Кажется, чтомакет-совместимый это определение, которое нигде не ...
timsong-cpp.github.io/cppwp/class.union#5
трите на этот код: struct A { short s; int i; }; struct B { short s; int i; }; union U { A a; B b; }; int fn() { U u; u.a.i = 1; return u.b.i; }Гарантируется ли это, чтоfn() возвращается1? Примечание: это дополнительный вопрос ...
@songyuanyao ты прав. cppreference не показывает ни ctor, ни руководства по выводам. Не проверял стандарт.
одом аргумента шаблона класса мы можем написать: std::less Fn;Однако G ++ 8.2 отклоняет этот код: #include <algorithm> #include <vector> #include <functional> int main() { std::vector v= { 1, 3, 2, 7, 5, 4 ...
Но кого это волнует? Это ужасная практика в любом случае.
ндарте C ++, в[Basic.lval] /11.6 [http://eel.is/c++draft/basic.lval#11.6] говорит: Если программа пытается получить доступ к сохраненному значению объекта через glvalue другого, чем один из следующих типов, поведение не определено: ...
Это также несколько помогает разработчикам компиляторов, потому что их внутреннее представление для шаблонов не должно поддерживать такую ерунду.
вляется обоснованием temp.res # 8,3 [https://timsong-cpp.github.io/cppwp/temp.res#8.3] (8) Срок действия шаблона может быть проверен до любого экземпляра. [Примечание: Зная, какие имена являются именами типов, можно таким образом ...