C++笔记

1.初始化与赋值不同,初始化的含义是创建变量时赋予一个初始值,赋值的含义是把对象的当前值擦除,以一个新值代替

2.在c++中,一个字节要至少能够容纳机器基本字符集中的字符。大多数机器的字节由8比特构成,字则是由32或64比特构成,也就是4或8字节。

3.for(unsigned u=10;u>=0;--u)  std::cout<<u<<std:endl;这是错误的,永远u不为负,死循环

4.不要混用带符号类型和无符号类型

5.十进制字面值不会是负数,负号不在字面值之内,它的作用仅仅是对字面值取负值。

6.编译器在每个字符串的结尾处添加一个空字符(‘\0‘),字符不加。

7.泛化的转义序列:形式是\x后紧跟1个或多个十六进制数,或者\后紧跟一个,或两三个八进制数字,其中数字部分表示的是数值对应的字符。

8.反斜杠后面超过三位的八进制数,不是那一个数。\x要用到后面所有数

9.对象和变量相似用法相同。

10.变量能且只能被定义一次,但是可以被多次声明。如果要在多个文件中使用同一个变量。用到该变量的文件必须对其进行声明,却绝对不能重复定义。

11.引用就是给对象起一个别名,引用必须初始化,引用类型的初始值必须是一个对象。

12.指针与引用的不同点:指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象。其二,指针无须在定义时赋初值。在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值。

13.得到空指针最直接的办法就是用字面值nullptr来初始化。

14.一旦定义了引用,就无法令其再绑定到另外的对象,之后每次使用这个引用就是访问它最初绑定的那个对象。

15.pi=&ival     *pi=0       ival的值被改变,指针pi并没有改变

16.给指针值赋值0,那么指针是一个空指针,如果所对应了条件,为false,任何非0指针对应的条件值都是true

17.默认情况下,const对象被设定为仅在文件内有效。当多个文件中出现了同名的const变量时,其实等同于在不同文件中分别定义了独立的变量。

18.如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字。

19.6、

用名词顶层表示指针本身是个常量,而用名词底层表示指针所指的对象是一个常量。

20.拷入拷出的对象必须具有相同的底层const对象。

21.const int sz=get_size();     //sz不是常量表达式。

22.别名声明:using SI=Sales_item;作用是把等号左侧的名字规定成等号右侧的名字。

23.auto说明符让编译器通过初始值 推算变量的类型。

24.decltype的作用是选择并返回操作数的数据类型。

25.final修饰成员变量,用于虚函数,防止该函数被派生类重载(该关键字通常应用于派生类内的虚函数,此派生类可能有自己的派生类,final的要点是防止函数有进一步的重载)

26.递归函数,不能被内联

27.virtual void fun()=0

纯虚函数,这种函数在派生类中必须重写,否则该派生来也是个虚基类,而虚基类是不能定义对象的

 

virtual void fun()

虚函数,派生类继承时可以不重写该函数

28.抽象类指的是含有纯虚函数的类,该类不能建立对象,只能声明指针和引用,用于基础类的接口声明和运行时的多态。另外,如果抽象类的某个派生类在向继承体系的根回溯过程中,并不是所有的纯虚函数都实现了,该类也是抽象类,同样不能建立对象

29.

1、int(*p)[4];------ptr为指向含4个元素的一维整形数组的指针变量(是指针)

2、int *p[4];-------定义指针数组p,它由4个指向整型数据的指针元素组成(是数组)

3、int(*)[4];--------实际上可以看作是一种数据类型。也就是第一个(int(*p)[4];)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值