Почему вставка URL в код C и C ++ работает? - PullRequest
11 голосов
/ 21 марта 2011

Почему следующий код компилируется?Какой раздел языка позволяет добавлять URL-адреса в код на C и C ++?

int main()
{
     http://www.stackoverflow.com
     return 0;
}

Заранее спасибо, Кастро.

Ответы [ 3 ]

21 голосов
/ 21 марта 2011

Если вы скомпилировали с предупреждениями, вы заметили бы:

warning: label ‘http’ defined but not used

Это должно быть достаточно показательным для проблемы здесь.

Текст http: рассматривается как метка.

После // отрицание оставшегося текста в качестве комментария, игнорирование его.

http://www.stackoverflow.com

Даже цветовые схемы синтаксиса SO, указанные выше, показывают, что это так, как показано в разделе послеhttp, рассматривается как комментарий (выделен серым цветом).

3 голосов
/ 21 марта 2011

Это потому, что компилятор обрабатывает http: как метку и // whatever как комментарий. Это совершенно законный кодекс.

Если вы не используете goto http; где-то, это будет совершенно бесполезный код.

1 голос
/ 21 марта 2011

В вашем коде http - это просто ярлык, а //www.stackoverflow.com - комментарий.

Также обратите внимание, что

int main()
{
     http://www.stackoverflow.com
}

или

int main()
{
 http://www.stackoverflow.com
 http://www.facebook.com
 return 0;
}

выиграноне компилируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...