C ++教程似乎错了

时间:2016-05-19 17:24:11

标签: c++

我只是想问about this tutorial.

我不明白。他们写的代码是这样的:

intmain() {
    cout << "Hello World!\n";
    return0;
}

现在,我对c ++真的很陌生,但肯定应该是:

int main() {
    std::cout << "Hello World!\n";
    return 0;
}

或者是否有一些编写c ++的奇特方式我不明白?本教程中编写的代码不会为我编译。

4 个答案:

答案 0 :(得分:12)

你是对的;那个&#34;教程&#34; chock full 格式化错误。

许多很多很多C ++教程都是错误的。不要相信互联网上一些饶舌的话;使用a proper, peer-reviewed book

答案 1 :(得分:3)

当他们复制粘贴代码时,他们显然存在空格和引号问题。

因此,他们的代码没有准备好复制粘贴。

我认为应该是:

#include <iostream>
using std::cout;
int main()
{
    cout << "Hello world!\n";
    return 0;
}

答案 2 :(得分:2)

  

或者是否有一些我不理解的编写c ++的奇特方式?

嗯,仍然可能有令人讨厌的事情,例如使用c-preprocessor宏 1

#define intmain int main
#define return0 return 0

但我必须同意@Lightness,只是不要相信随机来源学习。

我几乎每天都使用c ++来获得可靠的参考资料cppreference.com

1) 我会把这样的事情告诉我的老板公然无能,并建议解雇编写此类代码的作者。

答案 3 :(得分:1)

嗯,显然,你需要在返回0之间有空格;和int main()。

现在,lemme继续为你解释std ::。 std是一个'命名空间'。基本上,它用于将类似的代码组合在一起,以避免名称冲突。 'standard'(std)命名空间包括基本的C ++特性。在新的(ish)版本的C ++中,您需要指定从中获取函数的命名空间。

你可以,“使用命名空间std;”在开头,或者为您使用的每个标准函数单独指定命名空间,就像在更正的代码中一样。