Вопросы по теме 'language-lawyer'

Насколько неопределенным является неопределенное поведение?
Я не уверен, что вполне понимаю, в какой степени неопределенное поведение может поставить программу под угрозу. Скажем, у меня есть этот код: #include <stdio.h> int main() { int v = 0; scanf("%d", &v); if (v != 0)...
1867 просмотров
schedule 18.04.2024

Смежно выделенные vs последовательно выделенные
Раздел 6.2.5.20 стандарта C11 определяет массив как: Тип массива описывает непрерывно выделенный непустой набор объектов с определенным типом объекта-члена, называемым типом элемента. в то время как структура определяется как: Тип...
102 просмотров
schedule 19.05.2024

Понимание оптимизированной реализации declval
Глядя на исходный код libstdc++, я нашел следующую declval реализацию: template<typename _Tp, typename _Up = _Tp&&> _Up __declval(int); // (1) template<typename _Tp> _Tp __declval(long); // (2) template<typename...
521 просмотров

Почему у нас есть тип char в C, если символьный литерал всегда имеет тип int? Разве весь тип char в C не является избыточным?
В отличие от C++, в C символьный литерал всегда имеет тип int . Но почему тогда у нас есть тип char для хранения символьного значения? В вопросе Почему литералы символов C представляют собой целые числа вместо символов? ,...
250 просмотров
schedule 31.05.2024