Вопросы и ответы
Область недостаточно определенных деклараций
00
Вопрос или проблема C23 §6.2.1(7) содержит новую формулировку, связанную с неопределенными объявлениями (выделено жирным шрифтом ниже): Теги структур, объединений и перечислений имеют область видимости, которая начинается сразу после появления тега в
Вопросы и ответы
Обработка символа обратного слэша в скобочном выражении
00
Вопрос или проблема В разделе 3.4 Использование скобочных выражений справочного руководства GNU awk говорится Чтобы включить один из символов ‘\’, ‘]’, ‘-’ или ‘^’ в скобочное выражение, поставьте ‘\’ перед ним. Например:     [d\]]совпадает либо с ‘d’, либо с ‘]’.
Вопросы и ответы
Возможно ли нулевое значение ссылки?
00
Вопрос или проблема Этот фрагмент кода валиден (и поведение определено)? int &nullReference = *(int*)0; И g++, и clang++ компилируют его без каких-либо предупреждений, даже при использовании -Wall, -Wextra, -std=c++98, -pedantic, -Weffc++…
Вопросы и ответы
Позволит ли P1839 получить доступ к подсостояниям по смещениям в представлениях объектов?
00
Вопрос или проблема Это в определенном смысле является продолжением Является ли это неопределенным поведением – доступ к подобъекту путем добавления смещения байтов к адресу охватывающего объекта? при предположении, что P1839 будет принят.
Вопросы и ответы
Может ли правило согласованности чтения-четения выводить порядок модификации в зависимости от значения чтения?
00
Вопрос или проблема [intro.races] стр. 16 говорит: Если вычисление значения A атомного объекта M происходит до вычисления значения B для M, и A получает свое значение из побочного эффекта X на M, то значение, вычисленное B, является либо значением, сохраненным
Вопросы и ответы
Статическое утверждение срабатывает из типа возвращаемого значения, когда не выполняется ведущий ограничение.
00
Вопрос или проблема GCC принимает этот код, а Clang и MSVC отклоняют его из-за неудачной статической проверки в assert. Что говорит стандарт? https://godbolt.org/z/PKMKzYGsc template<typename T> constexpr int assert() { static_assert(sizeof(T) == 1);