最近开始学习C++。用的教材是C++ primer plus,很经典与权威的一本教材。
关于oop编程我还不太了解,也不能说出个所以然出来,下面是书中一些重要知识点的总结
1.main函数是被编译器添加的启动代码调用的
2.在C++风格中,C语言中的头文件的书写格式是去掉.h,在最前面加上c。如math.h->cmath。
3.名称空间是用来确定使用什么厂商的代码的。(就是说假如有两个名字相同的代码在两个不同的名称空间中,我们可以确定使用什么名称空间的代码)
4.endl相当于换行,cout相当于printf(C语言中),cin相当于scanf(C语言中), 当然其中还是存在差异,他们都存在于名称空间std中,cout,cin更加智能,可以自动识别数据的数据类型
处理数据
1.除了拥有C语言的相关的数据的初始化的方法外,还有C++所特有的方法
int wren(101) wren=101;
int wren{7}
2.char类型主要用于存储字符,但也可以用于存储比较小的整型数据。
3.类型转化
赋值时:
值会转化成接受变量的类型
表达式中的转化
1)如果有一个数是long double ,那么另外一个操作数转化成long double 类型
2)否则,如果有一个数是double类型,那么另外一个数转化成double
3)偷点懒,否则,有float同理
4)否者,全部是整型,因此进行整形提升
5)在这种情况下,如果两个操作数都是有符号的或者无符号的,向数级别高的转化
6)如果一个数有符号,一个数无符号,那么如果无符号的数的级别比较高,有符号数转化成无符号数所属的类别。
7)否则,如果有符号的数可以表示无符号的数的所有可能的取值,那么无符号数向有符号的数转变。
8)否则,两个数都装变成有符号类型的无符号版本。
4.强制转化:除了C风格的转化 (int)a之外,还有C++风格的int(a);还有static_cast<int>(a),
5.auto是声明一个类型自适应的数据
第四章:复合类型
1.在c++中,初始化数组的时候是可以不加等于号的,也就是说等于号是可有可无的
2.在C++中给出了string类型,可以直接进行字符串之间的运算,可以直接进行字符串之间的赋值,十分方便
3.string类变量的输入:我们可以直接用getling(cin,str),当然,在这之前,我们需要事先定义str为string类型