个人主页:仍有未知等待探索-CSDN博客
专题分栏:C++
请多多指教!
目录
一、如果函数在一个.h文件里面声明和定义,在多个.cpp文件里面包含其头文件时,会报链接错误。
3、使用static修饰,改变其链接属性(static修饰之后,仅在当前文件可用)
- 成员变量在类中只是声明
- 定义的标志是开空间
- C++自定义类型传值传参,会调用拷贝构造。
一、如果函数在一个.h文件里面声明和定义,在多个.cpp文件里面包含其头文件时,会报链接错误。
解决方式
1、声明定义分离
2、使用内联函数
3、使用static修饰,改变其链接属性(static修饰之后,仅在当前文件可用)
二、成员函数存储
成员函数存储在代码段中,而不是对象中。
三、空类的大小
空类的大小为1个字节。
原因
占位,标识对象实例化时定义出来存在过。
四、内联函数不能声明定义分离
原因
内联函数在编译阶段就会在调用的地方进行展开(没有函数的地址),如果把声明定义分离,则无法链接或者是找不到链接(有符号表,但是对应的符号没有地址,无法解析)。
五、this指针
1、this指针不能显示写。
2、函数内部可以用this指针。
六、const
const修饰变量,其存储位置
i, j p均存在栈上,而p所指向的字符串在常量区
经典的权限放大
a+x表达式的返回值是临时对象,临时对象具有常性。