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

0 ответов

webcache.googleusercontent.com/...

исимости от среды и настроек компилятора, типchar может быть подписан или не подписан по умолчанию, что означает, что диапазон значений для односимвольных констант в 8-битных системах дополнения 2s может быть-128..127 или же0..255. В вездесущем ...

0 ответов

Один

стимы ли эти 2 структуры с макетом? struct One { float x, y, z; }; struct Two { float c[3]; };Оба содержат 3 числа с плавающей точкой, так что это описание можно считать истинным (из N3797): 16 Два типа структуры стандартного макета (раздел 9) ...

0 ответов

 не были отменены.

казывает в разделе 6.7, какие объявления также являются определениями: Определение идентификатора - это объявление этого идентификатора, которое: - для объекта вызывает сохранение хранилища для этого объекта; [...] Я не нашел исчерпывающего ...

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

0 ответов

@PaulR, это стандарт C, который вы цитируете, это C ++. И что касается вашего утверждения о заполнении в конце блока памяти, я полагаю, что это отражено в моей сноске а.

шено ли изменять базовые байты объекта, если само значение не изменилось? Так, например, может ли этот фрагмент кода распечатываться «иначе»? int a = 0; char b[sizeof(int)]; memcpy(b, &a, sizeof(int)); if (memcmp(b, &a, sizeof(int)) { ...

0 ответов

C 2011 Онлайн проект

aмассив,foo это функция, иi являетсяint. a[++i] = foo(a[i-1], a[i]);Будет ли код выше, естьНеопределенное поведение? Индексы массива++i, i-1 а такжеi, гарантированно находиться в диапазоне массива.

1 ответ

оба компилятора верны.

аружил, что gcc и clang позволяют использоватьdecltype(auto) в предложении типа параметра шаблона нетипичного типа. Например.: template <decltype(auto)> struct X {}; int foo ; int main() { X<(foo)> x; static_cast<void>(x); }[живое демо ...

5 ответов

... о том, как что-то должно быть обработано, основываясь на множестве факторов. Единственный реальный вопрос заключается в том, следует ли полагаться на то, что все реализации являются продуктом разумных суждений.

сно стандарту C (пункт 6 6.5.2.2) Если выражение, обозначающее вызываемую функцию, имеет тип, который не содержит прототип, целочисленные преобразования выполняются для каждого аргумента, а аргументы с типом float повышаются до двойного. Это ...

3 ответа

 дает мне длину массива.

мой код имеет этоconstexpr строка constexpr char my_str[] = "hello";типmy_str содержит информацию о его размере, т.е.sizeof(my_str) является константой 6 и может использоваться везде, где требуется константа. Что оstrlen(my_str)? Может / должно ...

1 ответ

Что касается другой части вопроса. Да, безусловно, стоит отправлять отчеты об ошибках. Соответствие стандарту (или, по крайней мере, дальнейшая диагностика) должно поощряться IMO.

но, после обновления библиотеки до Clang 5.x, я заметил ошибку в моем коде, который был скомпилирован ранее на Clang 4.x, GCC 5.x-6.x и MSVC 2015 и 2017. #include <iostream> #include <typeinfo> #include <vector> int main() { using a = typename ...

2 ответа

@ T.C. Вы правы, но я не ошибаюсь :). Я не поощрял брать его адрес. Я согласен, что ваше конкретное использование является ловушкой, но хотел бы отметить, что использование такого объекта в общем определении не является неправильным в целом.

тавьте, что у нас есть заголовокfoo.h содержащий следующее: #ifndef FOO_H_ #define FOO_H_ namespace foo { constexpr std::string_view kSomeString = "blah"; } #endif // FOO_H_Являетсяfoo::kSomeString гарантированно иметь внутреннюю связь в любой ...