C/C++基础

人生短暂,做点记录吧!

1、一个空类占内存1个字节。这是为了保证n个连续空类声明时,变量地址有偏移,防止变量覆盖。 

2、一个类成员 ,当有虚函数时,就存在一个虚函数表的 "指针"(无虚不存在)。

3、C和C++都支持结构体,C++的结构体,可以认为是类的一种变体,二者的差异性。类中成员,如果不声明,默认是private,结构体中成员,如果不声明,则默认是public。 

4、在C++里面,结构体与类都可以内置成员函数,而C的结构体,内部只允许存在成员变量,如果需要内置成员函数,需要程序员显式声明函数指针变量。

5、一个类,所有的非虚函数,会被编译器排成一个符号表,放置在特定的编译器基础变量区,也就是放在exe文件里面的,在调用一个程序时,直接从文件中读出。 

6、虚函数和普通成员函数不同,每个对象都有可能变化,因此这个函数的指针必须跟着对象走,而不是类。

7、类的每个虚函数由每个函数指针栈维护,栈底元素指向基类虚函数,栈顶元素指向派生类虚函数,一个类,被继承几次,最后继承类的对象中的栈就有几层,类中所有虚函数的栈指针由虚指针维护。

8、C++静态成员变量属于整个类拥有,可以被普通函数修改,需在类外初始化。

9、C++静态成员函数只能修改静态成员变量,不能修改普通成员变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值