生成CPP应用程序的步骤,
- 编写cpp代码;
- 使用编译器对代码进行编译,将代码转换为包含在目标文件中的机器语言版本;
- 使用链接器链接编译器的输出,生成可执行文件,如.exe
编译器每次转换一个代码文件,都会生成一个扩展名为.o
或.obj
的目标文件,忽略这个cpp文件与其他文件中代码的依赖。解析这些依存关系的工作由链接程序负责。
集成开发环境 (integrated development environment, IDE)
Tip:online IDE
强烈安利visual studio code,一个轻量级的IDE,支持多种语言(java, python, c/c++)以及文本编辑器(vim)。
下面以’Hello World’来入门,并说明VS code的使用步骤,还是有点麻烦的。。。
- MinGW
- GNU C++
CPP中,一条语句可以跨越多行;还可在一行中包含多条语句,只要每条语句都以;结尾
预处理器编译指令#include
1 2
| #include <> // 标准头文件 #include "..."
|
除非明确声明了不返回值,否则函数必须有return语句
名称空间的概念:给代码指定的名称,有助具降低命名冲突的风险。
例如std,用来调用获得ISO标准委员会批准的函数、流和工具给代码指定的名称,有助具降低命名冲突的风险。
例如std,用来调用获得ISO标准委员会批准的函数、流和工具。其声明方法是”using namespace”
C++中的main函数必须返回int,没有void main这种定义方式,
1 2
| int main(void) int main(int argc, char *argv[])
|
定义变量
VariableType VariableName;
VariableType VariableName = InitialValue;
变量类型向编译器指出了变量可存储的数据的性质,编译器将为变量预留必要的空间。
最高有效位 most significant bit
最低有效位 least significant bit
新特性
C++14的chunking separator
,即用但引号作为组块分隔符,例如
测试了一下,gcc-7.2支持这一新的标准,但是gcc-5.5还不支持,Check 一下
sizeof 用于确定变量的长度,是个运算符。。。
C++11中引入的列表初始化避免缩窄转换错误,造成执行中隐藏的bug
例如,如下的代码,就会有这样的警告,并且无法编译通过,但直接写就不会警告
1 2 3 4
| ... int16__t largeNumber = 257; int8_t smallNumber = largeNumber; int8_t smallNumberList = {largeNumber};
|
auto自动推断类型
如果使用的编译器支持C++11或更高的版本,可以不显式地指定变量的类型,即
注意:使用auto时,必须对变量进行初始化。
使用typeof替换变量类型
C_++允许将变量类型替换为认为方便的名称,例如
1 2
| typedef unsigned int STRICTLY__POSITIVE_INTEGER; STRICTLY_POSITIVE_INTEGER num = 1234;
|
Comment and share