函数体内的url是如何编译的

问题描述 投票:0回答:2

我刚刚将一个 url 粘贴到我的代码中,忘记注释它,但我很惊讶地看到 MSVC++ 成功编译了它。我的代码是这样的,

void my_function()
{
    http://www.google.co.in/
}

这怎么会被MSVC++编译?

c++ function compiler-warnings goto
2个回答
8
投票

实际上,

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。


1
投票
C++中的

未加引号的

//
是注释。因此,在删除注释后,您的代码将如下所示:

void my_function()
{
    http:
}

所以

http:
只是一个可以与
goto
一起使用的标签。

© www.soinside.com 2019 - 2024. All rights reserved.