C++ primer plus学习心得

第二章 开始学习C++

1、在VS中不需要再main函数前声明变量也可以使用,但是为了考虑代码合理性,最好声明变量。
2、在调用函数过程中和python不一样,一定要记得加上后面的()。

图1

第三章 处理数据

整型:没有小数部分的数字

不同类型所占的字节

short = short int
long = long int

每种类型的最大值

如果需要用无符号类型来声明的话,必须要数字不为负数,无符号相当于把一个正常的声明全部平移到正整数类型。

无符号类型

在c++中常量一般自动保存为int型

常量类型

char型一般什么都可以表示,包括字符符号啥的。

char型
自动转换1
自动转换2

char的字符类型;

sign和unsign的区别

对于wchar这种宽char类型,在处理的时候也需要进行wcout和wcin类型来处理,因为正常的char是8个字节,wchar有16个字节,所以处理方式也不一样。cin和cout都是当作输入输出流为char类型。

对于bool类型:

bool类型运算

创建一个常量。(constant)

常量
以上全是整形,下面介绍浮点型

与整形一样浮点型也有三种,float、 double、 long double
书写浮点常量的规则:

浮点常量

在求模运算的时候,要求两个数必须为整型数字,否则会报错。
在除法运算时,如果两个数都是整数的话,则结果无论有没有小数都肯定为整数;但是如果有一个浮点数的话,则最后的结果就还是浮点数。

这行程序使最后的结果不省略0

在默认情况下,浮点常数默认为double类型,在除法中,如果两个常量性质相同,则结果默认也是这个常量性质

除法的性质

从高字节数字类型转换到低字节数字类型的时候会出现或多或少的问题。问题如下:

转换问题

C++中可以智能判断auto声明,如果使用auto这个关键字的话,它可以自动根据初始值来判断他的类型,但是一般都很少使用,因为他是人工智障。

问:using std::cout与using namespace std有什么区别

没啥区别,使用后面的之后整个namespace中所有的例如cout、cin的函数全都可以使用了,这样的话对新手比较友好,但是容易引起命名空间冲突,所以大佬不这样写,我就这样写了。

第四章 复合类型

数组:

数组可以储存的类型

数组初始化赋值问题:

赋值要求1
赋值要求2

在字符串的应用之中,空字符不能表示为 ' ' ,要用 '/0' 来表示。
strlen():字符串长度
sizeof():字符串字节

使用cin.getline()时的注意事项:

getline()
getline和get'的区别

使用get函数的缺点和解决办法:

get!

这里有关于cin等函数的用法,建议看一下
https://blog.csdn.net/weixin_43725617/article/details/103079180

String类:

string类
string函数

获取字符串长度


获取字符串长度

结构数组:

结构数组
对结构数组会有更深的理解

指针:

以下两个指针表达方式不一样。

初始化指针
分开定义指针

NEW和delete的注意事项:
下面是new的用法介绍,建议阅读。
https://blog.csdn.net/weixin_41232202/article/details/96452228

内存
指针和数组表示法

第五章 For循环

a++和++a的区别
组合赋值操作符
strcmp检测两个字符串是否相等

只有string类型的才可以用= or!=来进行比较,普通的char类型的只能用strcmp。

cin.get()可以替换cin,可以读取空格

第六章 if循环和逻辑运算符

运算符:

逻辑运算符

cctype包:

要事先声明#include

全c++唯一一个需要三个运算符的。?=

?=
注意!!

第七章 函数与数组

数组函数
是否修改数组

!数组的指针用法](https://upload-images.jianshu.io/upload_images/26819171-cae42c2cc6c860b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

将常量赋予指针:

常量赋予指针
数组指针1

数组指针2
const用法

你可能感兴趣的:(C++ primer plus学习心得)