Результаты поиска по запросу "language-lawyer"

4 ответа

Указатель на участника, который является незаконной ссылкой?

Допустим, у меня есть: // 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 ...

2 ответа

Создает ли указатель на шаблон экземпляр этого шаблона?

static_cast<the_template<int>*>(0) - это экземплярthe_template с типомint? Причиной для запроса является следующий код, который будет давать ошибку при связывании времени с неопределенной ссылкой наcheck_error<char>(void*, long) с Clang и GCC ...

2 ответа

Функция попробуй поймать синтаксис и основной

Малоизвестная, но почти никогда не используемая функция C ++ получает объявление: void foo();Одним из возможных юридических определений может быть: void foo() try { throw 42; } catch(...) { }ЗдесьВся реализация функции находится в ...

ТОП публикаций

3 ответа

Различное поведение для поиска квалифицированного и неквалифицированного имени для шаблона

Как должен вести себя этот код? Это вызывает универсальную функцию, игнорирующую мою перегрузку, если я используюквалифицированный имя вcall_read() функция; и это вызывает перегрузку, а затем общую версию, если я используюнеквалифицированный имя. ...

1 ответ

Какой раздел стандарта 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 :: ...

2 ответа

Инициализация взаимно ссылающихся объектов

Рассмотрим следующую пару взаимно ссылающихся типов: struct A; struct B { A& a; }; struct A { B& b; };Это можно инициализировать с помощью агрегатной инициализации в GCC, Clang, Intel, MSVC, но не в SunPro, которая настаивает на том, что ...

2 ответа

Определенное поведение для выражений

Стандарт C99 говорит в $ 6.5.2. Между предыдущей и следующей точкой последовательности объект должен иметь свое сохраненное значение, измененное не более одного раза путем оценки выражения. Более того,предыдущее значение должно быть прочитано ...

2 ответа

Это неопределенное поведение, чтобы отбросить константу параметра функции?

Представьте, что у меня есть эта функция C (и соответствующий прототип в заголовочном файле) void clearstring(const char *data) { char *dst = (char *)data; *dst = 0; }Есть ли неопределенное поведение в приведенном выше коде,кастингconst прочьили ...

2 ответа

Очки последовательности и порядок оценки

Я читал K & R и наткнулся на этот пример о неопределенности в поведении, оценивая выражение какa[i]=i++; Спецификация C99 в $ 6.5.2 говорит, что Между предыдущей и следующей точкой последовательности объект должен иметь свое сохраненное ...

6 ответов

Это неопределенное поведение, чтобы сформировать указатель диапазона из адреса стека?

Некоторые программисты на C или C ++ с удивлением обнаруживают, что дажехранение неверного указателя является неопределенным поведением [https://stackoverflow.com/questions/3838855/is-storing-an-invalid-pointer-automatically-undefined-behavior] , ...