注
本系列内容仅用于个人学习,内容摘录自菜鸟教程、书本以及参考他人博客等。
目的仅为:方便个人学习的知识整理。如有不妥,请作者联系本人整改。
实例
#include <iostream> //预处理器编译指令 #include
using namespace std;
// 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念
int main() //int main() 是主函数,程序从这里开始执行 函数头描述的是main()和操作系统之间的接口
//空括号意味着main()函数不接受任何信息 main函数返回一个整数值
{
cout << "Hello World"; // 输出 Hello World
return 0; //终止 main( )函数,并向调用进程返回值 0。
}
C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 iostream。
C++提供了两个用于处理输入和输出的预定义对象(cin和cout),它们是istream 和ostream类的实例,这两个类在iostream中定义。
#include <iostream>
该编译指令导致预处理器将iostream文件的内容添加到程序中,这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本。
iostream中的io指的是输入输出,C++的输入/输出方案涉及iostream文件中的多个定义,为了使用cout显示消息,程序需要这些定义
cout << “Hello World” <<符号表示该语句将把右边的字符串发送给cout,该符号指出了信息流动的路径。cout是一个预定义的对象,知道如何显示字符串、数字和单个字符。每条cout语句的输出从前一个输出的末尾开始。
如果使用iostream,而不是iostream.h,则应使用using namespace std名称空间编译指令来使iostream中的定义对程序可用,这叫using编译指令。iostream中定义的用于输出的cout变量实际上是std::cout,而using namespace std这一行代码,可以使用std名称空间中定义的名称,而不必使用std::前缀 ( :: 是范围解析运算符, 指明一个函数属于哪个类或一个数据属于哪个类。:: 可以不跟类名,表示全局数据或全局函数(即非成员函数)
注释:注释中的所有字符会被 C++ 编译器忽略。单行注释以 // 开头,在行末结束;多行注释以 /* 开始,以 */ 终止。
分号:分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束
语句块:语句块是一组使用大括号括起来的按逻辑连接的语句
C++ 不以行末作为结束符的标识,因此,可以在一行上放置多个语句
x = y;
y = y+1;
add(x, y);
等同于 x = y; y = y+1; add(x, y);
Q&A
1、在 C++ 中 main 函数前面为什么要加上数据类型?
main 函数的返回值是返回给主调进程,使主调进程得知被调用程序的运行结果。
标准规范中规定 main 函数的返回值为 int,一般约定返回 0 值时代表程序运行无错误,其它值均为错误
2、C 语言 int main() 和 int main(void) 的区别
int main(void) 指的是此函数的参数为空,不能传入参数,如果你传入参数,就会出错。
int main() 表示可以传入参数。在 C++ 中 int main() 和 int main(void) 是等效的
3、为什么要使用 using namespace std?
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是加个前缀。比如 C++ 标准库里面定义了 vector 容器,你自己也写了个 vector 类,这样名字就冲突了。于是标准库里的名字都加上 std:: 的前缀,你必须用 std::vector 来引用。同理,你自己的类也可以加个自定义的前缀。但是经常写全名会很繁琐,所以在没有冲突的情况下你可以偷懒,写一句 using namespace std;,接下去的代码就可以不用写前缀直接写 vector 了
- 面向对象