Результаты поиска по запросу "language-lawyer"
Указатель на участника, который является незаконной ссылкой?
Допустим, у меня есть: // This is all valid in C++11. struct Foo { int i = 42; int& j = i; }; // Let's take a pointer to the member "j". auto b = &Foo::j; // Compiler is not happy here // Note that if I tried to get a pointer to member "i", it ...
Создает ли указатель на шаблон экземпляр этого шаблона?
static_cast<the_template<int>*>(0) - это экземплярthe_template с типомint? Причиной для запроса является следующий код, который будет давать ошибку при связывании времени с неопределенной ссылкой наcheck_error<char>(void*, long) с Clang и GCC ...
Функция попробуй поймать синтаксис и основной
Малоизвестная, но почти никогда не используемая функция C ++ получает объявление: void foo();Одним из возможных юридических определений может быть: void foo() try { throw 42; } catch(...) { }ЗдесьВся реализация функции находится в ...
Различное поведение для поиска квалифицированного и неквалифицированного имени для шаблона
Как должен вести себя этот код? Это вызывает универсальную функцию, игнорирующую мою перегрузку, если я используюквалифицированный имя вcall_read() функция; и это вызывает перегрузку, а затем общую версию, если я используюнеквалифицированный имя. ...
Какой раздел стандарта C ++ требует, чтобы set :: erase вызывал деструкторы незамедлительно
Какой раздел стандарта C ++ 11 (вот копия проекта стандарта [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf]) требует, чтобы ассоциативные контейнеры, такие как std :: set, std :: map, std :: unordered_set и std :: ...
Инициализация взаимно ссылающихся объектов
Рассмотрим следующую пару взаимно ссылающихся типов: struct A; struct B { A& a; }; struct A { B& b; };Это можно инициализировать с помощью агрегатной инициализации в GCC, Clang, Intel, MSVC, но не в SunPro, которая настаивает на том, что ...
Определенное поведение для выражений
Стандарт C99 говорит в $ 6.5.2. Между предыдущей и следующей точкой последовательности объект должен иметь свое сохраненное значение, измененное не более одного раза путем оценки выражения. Более того,предыдущее значение должно быть прочитано ...
Это неопределенное поведение, чтобы отбросить константу параметра функции?
Представьте, что у меня есть эта функция C (и соответствующий прототип в заголовочном файле) void clearstring(const char *data) { char *dst = (char *)data; *dst = 0; }Есть ли неопределенное поведение в приведенном выше коде,кастингconst прочьили ...
Очки последовательности и порядок оценки
Я читал K & R и наткнулся на этот пример о неопределенности в поведении, оценивая выражение какa[i]=i++; Спецификация C99 в $ 6.5.2 говорит, что Между предыдущей и следующей точкой последовательности объект должен иметь свое сохраненное ...
Это неопределенное поведение, чтобы сформировать указатель диапазона из адреса стека?
Некоторые программисты на C или C ++ с удивлением обнаруживают, что дажехранение неверного указателя является неопределенным поведением [https://stackoverflow.com/questions/3838855/is-storing-an-invalid-pointer-automatically-undefined-behavior] , ...