12
ответов

Возьмите адрес one-past-the-end элемента массива через нижний индекс: законный по Стандарту C++ или нет?

Я видел, что это утверждало несколько раз теперь, когда следующий код не позволяется Стандартом C++: международный массив [5]; интервал *array_begin = &array [0]; интервал *array_end = &array[5]; &array[5]...
вопрос задан: 13 February 2016 00:02
10
ответов

Каково общее неопределенное/неуказанное поведение для C, с которым Вы сталкиваетесь? [закрытый]

Примером неуказанного поведения на языке C является порядок оценки аргументов функции. Это могло бы быть слева направо или справа налево, Вы просто не знаете. Это влияло бы как нечто (...
вопрос задан: 24 August 2019 15:48
7
ответов

Каков размер пустоты?

К чему привел бы этот оператор? освободите *p = malloc (sizeof (пусто));Править: расширение вопроса. Если sizeof (пусто) уступает 1 в компиляторе GCC, то 1 байт памяти выделяется и указатель p...
вопрос задан: 23 October 2019 23:40
7
ответов

Нельзя ли использовать только точку (.) Для доступа к членам пространства имен и статическим членам класса [duplicate]

В C ++ мы используем double colon (: :) для доступа к членам пространства имен, используйте dot (.) Для доступа к членам класса / структуры и используйте стрелку (- & gt;) для доступа к элементам класса / структуры с помощью указателя. Разве это не было
вопрос задан: 9 April 2016 20:00
6
ответов

Можно ли удалить объект std :: function из его целевой функции во время вызова? [Дубликат]

Можно ли удалить объект std :: function из функции, вызываемой ее оператором ()? Например: #include & lt; functional & gt; #include & lt; iostream & gt; int main () {std :: function & lt; void () & ...
вопрос задан: 10 April 2014 22:36
6
ответов

Как законно сослаться на неопределенный тип в структуре?

Как часть ответа на другой вопрос, я столкнулся с частью кода как это, которое gcc компилирует без жалобы. структура определения типа {структура xyz *z;} xyz; международное основное (пустота) {возвращается 0;}...
вопрос задан: 24 May 2010 07:25
6
ответов

Как я определяю целочисленный литерал типа неподписанный символ в C++?

Я могу определить целочисленный литерал типа, неподписанного длинный следующим образом: константа неподписанный долгий пример = 9UL; Как я делаю аналогично для неподписанного символа? константа неподписанный символьный пример = 9U?; Это необходимо...
вопрос задан: 21 February 2010 16:10
5
ответов

Pedantic: Что такое исходный файл? Что такое заголовок?

Для целей этого вопроса меня интересует только C ++, совместимый со стандартами, а не C или C ++ 0x, и не детали, специфичные для реализации. Время от времени возникают вопросы, касающиеся ...
вопрос задан: 23 May 2017 10:30
4
ответа

Каковы действительные подписи для основного C () функция?

Каковы действительно действительные подписи для основной функции в C? Я знаю: международное основное (интервал argc, символ *argv []) там другие допустимые?
вопрос задан: 17 March 2019 17:28
4
ответа

Подавите предупреждение неиспользуемой переменной в C++ => ошибка Компилятора или кодируйте ошибку?

В настоящее время я использую следующий шаблон функции для подавления предупреждений неиспользуемой переменной: шаблон <имя типа T> освобождает неиспользованный (T константа, и) {/* ничего Не Делают. */} Однако при портировании на...
вопрос задан: 11 August 2017 15:39
4
ответа

Точки последовательности и частичный порядок

Несколько дней назад были дискуссией здесь о том, вызываю ли выражение i = ++ я + 1 UB (Undefined Behavior) или нет. Наконец заключение было сделано этим, оно вызывает UB как значение 'меня'...
вопрос задан: 23 May 2017 11:44
4
ответа

Почему стандарт C ++ запрещает контейнеры элементов const? [Дубликат]

Каково обоснование C ++ 11, запрещающего контейнеры элементов const? Я имею в виду следующее сообщение об ошибке, которое вы получаете, если вы определяете, например, вектор элементов const: ...
вопрос задан: 2 March 2015 04:59
4
ответа

Clang не может вывести пустые вариационные аргументы шаблона, не помещенные в конец аргументов функции [duplicate]

У меня есть следующий код: struct Processor {template & lt; typename ... ARGS & gt; void OnMsg (ARGS ... args, int) {} // но makine ARGS после int отлично: // void OnMsg (int, ARGS ... args) ...
вопрос задан: 8 February 2013 11:00
4
ответа

Как Вы импортируете перечисление в другое пространство имен в C++?

У меня есть перечисление в пространстве имен, и я хотел бы использовать его, как будто это было в другом пространстве имен. Интуитивно, я полагал, что мог использовать 'использование' или 'определение типа' для выполнения этого, но ни один на самом деле н
вопрос задан: 20 July 2010 18:49
3
ответа

Несоответствие в C ++ между выровненной структурой и перечислением внутри контейнера

В C ++, по крайней мере, в GCC и Clang, выровненный тип, встроенный в контейнер (std :: vector), по-видимому, обрабатывается по-разному в зависимости от того, является ли тип переопределенной структурой или over -...
вопрос задан: 25 June 2019 19:38
3
ответа

Этот тип наказания хорошо определен?

У меня есть структура, как показано ниже. struct result {int a; int b; int c; int d; } и союз, как показано ниже. union convert {int arr [4]; структура результата res; } и я набираю каламбур, как показано ниже. ...
вопрос задан: 17 January 2019 14:30
3
ответа

определение типа и непростые спецификаторы типа

Почему этот код недопустим? интервал определения типа INT; неподписанный INT a=6; тогда как следующий код является допустимым интервалом определения типа INT; статический INT a=1;? согласно моему понимающему неподписанному интервалу не "простой тип..
вопрос задан: 23 May 2017 10:34
3
ответа

c ++: Extern с авто не удается скомпилировать [duplicate]

Рассмотрим следующий код: #include & lt; vector & gt; extern std :: vector & lt; int & gt; const my_vector; auto const my_vector = std :: vector & lt; int & gt; {}; Он не компилируется на gcc, но работает на clang ...
вопрос задан: 15 October 2014 16:42
3
ответа

Принимает ли адрес оборванных ссылок UB? [Дубликат]

Стандарт ли что-нибудь говорит об этом, будучи UB (или нет)? INT & амп; get () {int a = 1; return a; } int main () {std :: cout & lt; (& amp; get () == nullptr); }
вопрос задан: 6 February 2013 15:41
3
ответа

Пусть основные аргументы Java будут null [duplicate]

Главному методу Java должен быть передан массив строк (традиционно названных args). То есть подпись main должна быть public static main (String [] args) или public static main (String ... args) ...
вопрос задан: 7 March 2012 18:38
2
ответа

Почему мы не должны указывать скобки при инициализации объекта массива в Java?

Я изучаю Java с нуля, и одна вещь, которая показалась мне интересной, заключалась в том, что наиболее сложные структуры данных должны создаваться таким образом: ArrayList < String > список = новый ...
вопрос задан: 27 March 2019 04:41
2
ответа

Использование ptrdiff_t

Я реализую итератор через непрерывный кусок памяти и пришел к вопросу о его соответствующем использовании. Моя текущая реализация (при условии, что я перебираю массив символов). typedef ...
вопрос задан: 26 March 2019 17:02
2
ответа

Безопасно ли получить доступ к неконстантному объекту через const lvalue?

6.5 (p7) гласит следующее: объект должен иметь свое сохраненное значение, доступное только через выражение lvalue, которое имеет один из следующих типов: 88) - тип, совместимый с эффективным типом ...
вопрос задан: 19 March 2019 08:49
2
ответа

У меня возникли некоторые трудности с пониманием [basic.scope.pdecl] / 7

[basic.scope.pdecl] / 7: Точка объявления класса, впервые объявленного в подробном спецификаторе типа, выглядит следующим образом: (7.1) для объявления формы ...
вопрос задан: 18 March 2019 18:00
2
ответа

Можно ли использовать указатель на член структуры для доступа к другому члену той же структуры?

Я пытаюсь понять, как работает наказание типов, когда речь идет о сохранении значения в член структуры или объединения. Стандарт N1570 6.2.6.1 (p6) определяет, что, когда значение сохраняется в ...
вопрос задан: 12 March 2019 09:11
2
ответа

Разница между i ++ и (i) ++ в C

int i = 3; int j = (i) ++; против int i = 3; int j = i ++; Есть ли разница между тем, как оцениваются два вышеупомянутых случая? Первый случай эквивалентен увеличению значения или это ...
вопрос задан: 10 March 2019 09:24
2
ответа

Почему Java не предоставляет конструктор копирования по умолчанию?

Примечание. Мне известен этот вопрос: почему в Java нет конструктора копирования? Этот вопрос немного отличается. Я знаю, что следующий фрагмент только создает новую ссылку на существующий объект ...
вопрос задан: 23 January 2019 08:43
2
ответа

Продление времени жизни std :: tuple < int & amp;, int > назначив его const std :: tuple < int, int > & amp;

Я использовал класс std :: tuple и нашел что-то, что я бы сказал, довольно неожиданное поведение. Рассмотрим код: #include < iostream > #include < tuple > int i = 20; станд :: кортеж & л; INT & Amp; ...
вопрос задан: 18 January 2019 14:15
2
ответа

C минимальное стандартное требование

От стандарта C ISO / IEC 9899: 201x 5.1.2.3p6: Минимальные требования к соответствующей реализации: Доступ к летучим объектам оценивается строго в соответствии с правилами ...
вопрос задан: 18 January 2019 12:41
2
ответа

Почему initializer_list значений enum не считается константным выражением?

В следующем коде (проверено локально и на Wandbox): #include < iostream > типы enum {A, B, C, D}; void print (std :: initializer_list < Типы > типы) {для (автоматический тип: типы) ...
вопрос задан: 17 January 2019 22:54