Chapter2.Start开始
一.从HelloWorld说起
//以最常见的HelloWorld程序介绍
//HelloWorld.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
1.注释
//以最常见的HelloWorld程序介绍
//HelloWorld.cpp
- 注释是程序员为阅读程序的人做出的注解,编译器会忽略注释内容
- 良好的注释的价值很高,有助于他人读懂程序员的代码,从而使得代码便于维护;
若开发者自己长时间未接触该程序,也有助于自己理解代码
C++风格注释
//Comment here,single line,C/C++ avaiable
C风格注释
/* multiline Comment here
C/C++ avaiable */
C风格注释以*/结束,而非行尾结束,可以跨越多行;
缺点在于结尾与起始符号的匹配容易出现二义性,示例如下:
#include <iostream>
using namespace std;
int main()
{
cout<<"code1"<<endl;
cout<<"code2"<<endl;
/*cout<<"code3"<<endl; /* multiline
comment
here*/
cout<<"code4"<<endl; */
cout<<"code5"<<endl;
return 0;
}
可以嵌套的注释(预编译指令)
#if 0 //与#if false同
code
#endif //屏蔽code
#if 0
code1 //屏蔽code1
#else
code2
#endif //执行code2
#if 1 //与#if true同
code1 //执行code1
#else
code2 //屏蔽code2
#endif
2.预处理指令
#include <iostream>
- 首先解释一下这一行,#include 含义:预处理器将名为iostream的文件添加到程序中,即在源代码编译前替换或添加文本。
- i-o-stream含义是input-output-data-stream(输入输出流),使用C++输入输出工具要包括iostream
- 在HelloWorld.cpp中,C++的输入输出设计到iostream文件中的多个定义,例如cin和cout,预处理器从iostream文件取出相应的源代码取代#include < iostream>本身,组合成完整的源代码,进入编译的下一个阶段。注意,此过程中iostream原始文件本身并未被修改。
预处理指令
文件包含:将头文件包含进代码中
#include 包含头文件 <文件在系统目录>
“文件不一定在系统目录,可能自己写的头文件”
条件编译:设置控制条件,满足条件才可进行编译
- #if 表达式非零,编译
- #ifdef 宏被定义,编译 #ifdef macro
- #ifndef 宏未被定义,编译 #ifndef macro
- #else 配合#if等使用,作为主条件的补集
- #elif 有#else与#if的组合功能
- #endif 结束控制
#if constant expression //#ifdef macro //#ifndef macro
code_1
#endif
#if constant expression //#ifdef macro //#ifndef macro
code_1
#else
code_2
#endif
#if constant expression
code_1
#elif
code_2
......
#elif
code_x
#endif
控制布局:为编译程序提供非常规控制流信息
- #progma #line #error
宏替换:用短小的宏名代替大块代码段
- #define #undef </