一、函数的重载
在编译阶段,每个函数都会产生一个符号,C中使用函数名生成符号,在C++中使用函数名和参数列表生成符号。而函数的重载是一组函数名相同,但参数列表不同的函数,不能仅通过函数返回值来区分,所以C中没有函数的重载。一组函数要重载,必须处在同意作用域下。
二、const
(一) C和C++中const的区别:
1、C中const修饰的量可以不初始化,C++中必须要初始化;
2、C中const修饰的量叫常变量,不能当常量来使用;
3、在编译上,C中编译过程和普通变量没区别,C++中编译时,遇到常量名字的地方,替换成常量的初始值。
4、C和C++中const修饰的量都不可以作为左值。
(二) const的表达式出错原因:
1、const常量作为了左值;
2、把常量的地址或者引用泄露出去了。
(三) cosnt和指针的结合:
一级指针:
int*=>const int* ok
const int *=>int * err
二级指针:转换的类型必须都有const。
三、指针和引用的区别
1、引用一定要初始化是更安全的指针;
2、访问指针得到的是指针的地址,访问应用得到的是被引用值的地址;
3、指针有多级,引用没有;
4、引用变量定义时引用那块内存,就不能再改变。
函数的重载和const
最新推荐文章于 2023-07-12 23:03:37 发布