几乎任何语言,入门第一个程序永远是打印出“hello, world”,所以我称其为“老规矩”。

    1. #include <iostream>
    2. int main(int argc, char** argv){
    3. std::cout << "hello, world\n";
    4. return 0;
    5. }

    这是一个非常简单的程序,我来一步一步解释每一个语句的意思。

    1. #include <iostream>

    这个语句是引入了iostream这个头文件(Header Files),里面有我们需要使用到的代码,一般为函数(Functions)或者类(Classes)。如下面代码中的cout,如果不引入iostream这个头文件,我们就没法使用它。

    1. int main(int argc, char** argv)
    2. {
    3. }

    这个为主函数(Main Function),它是C++程序的入口函数,但是它并非程序执行的起点,在进入main函数前,还有一大段启动代码要执行,而且我们在编译的时候还可以手动指定入口函数,这是后话,以后有机会再谈,现在我们可以粗略地认为main函数就是程序执行的入口。
    函数的构成为ReturnType Name(Parameters) {return ReturnType;},ReturnType为返回值的类型,如我们的例子中就是整型(int);Name是函数的名字,我们的例子中为main;Parameters为函数的形参,它可以为0个,也可以为多个,我们的例子中为argc和argv,这两个形参还拥有不同的类型,argc为整型,argv为双重指针指向char类型。
    main函数有很多不同的形式,一般来讲有如下几种:

    1. int main(int argc, char** argv); // 本文中的例子,也是标准委员会推荐的形式。
    2. int main(int argc, char* argv[]); // 与前者一模一样,在main函数中没有任何区别,至于char**和char*[]的区别,以后再讲。
    3. int main(); // 不使用命令行参数,也是比较常见的。
    4. int main(void); // 这在c中非常常见。
    5. void main(); // 偶尔也见人使用,不推荐。

    上述main函数的形式算是比较多见的,还有比较冷门的形式,就不一一举例的,不要去用就对了。

    1. std::cout << "hello, world\n";

    std为命名空间(namespace),::为域操作符(Scope Operator),跟在命名空间或者类名后面。cout为ostream这个类的一个实例,它用于标准输出(standard output),将内容打印到终端(Terminal)内。c++中,字符串是要用双引号””包裹起来的,单引号’’表示字符。后斜杠(backslash)”\”被称为转义符(Escape Character),”\n”表示换行。所以上述语句的意思是把”hello, world”打印到终端屏幕上,并且换行

    1. return 0;

    这个表达式表示返回0,因为我们的main函数需要返回一个int类型的值,所以我们给他返回0。一般来讲,返回0表示程序执行完成,安全退出。返回-1表示程序执行出错,被迫返回。当然用户可以返回任何数,但是根据传统,0为正常返回,负数为执行出错返回。