Что означает единственный знак ; в строке?

133
04 июня 2019, 16:50

Что означает строка в main? Для чего такая конструкция нужна?

int main() {
  ;
}
Answer 1

Пустой statement присутствует в языках С и С++ со времен динозавров. Например

for (int i = 0; i < 10; ++i);

В данном случае последняя ; - это самостоятельный пустой statement, представляющий тело цикла. Или

switch (i)
{
  case 0:
  case 1:
    printf("Hello\n"); 
    break;
  default:
    printf("Hello World\n"); 
    break;
  case 2:;
}

В дaнном случае метка case 2: помечает пустой statement.

Однако в современном С++ вопрос имеет интересный подтекст: что это - пустой statement или пустое объявление? В списке дефектов болтается дефект 2188, который, возможно, посвящен именно этому вопросу, но его описание, что характерно, пусто :)

READ ALSO
Ошибка сегментации в linked list

Ошибка сегментации в linked list

Есть функция deleteLast, которая удаляет первый элемент linkedlist'а

110
Рекурсивный вызов main

Рекурсивный вызов main

Что будет при рекурсивном вызове функции main???

107
Изменить кодировку символа в C++

Изменить кодировку символа в C++

Так уж пришлось, что мне нужно сделать задание в C++ builder 6И такой вопрос, как изменить маленькую букву на большую через изменение кода символа

133
Ошибка в передаче аргумента в функцию

Ошибка в передаче аргумента в функцию

Есть ошибка, cmap передается в такую фукнцию

131