我刚刚将一个 url 粘贴到我的代码中,忘记注释它,但我很惊讶地看到 MSVC++ 成功编译了它。我的代码是这样的,
void my_function()
{
http://www.google.co.in/
}
这怎么会被MSVC++编译?
实际上,
http
后跟冒号被C++视为标签,您可以在goto
语句中使用它(如goto http;
),其余部分(即//www.google.co.in
)被视为单行注释。这就是它被编译的原因。
查看更多,
void your_function()
{
http://www.google.co.in/
https://www.crazy_c++.com/
ftp://c++_is_fun.edu
//your code here
int i = 10 ; //atleast one line of code is needed here to get compiled!
}
顺便说一句,我认为您编写的示例不会被编译。 url 后面至少应该有一行代码,只有这样它才会在我的电脑上编译。我正在使用 MSVC++ 2008。
未加引号的
//
是注释。因此,在删除注释后,您的代码将如下所示:
void my_function()
{
http:
}
所以
http:
只是一个可以与 goto
一起使用的标签。