c/c++相互调用:
由于c和c++的符号生成规则不同,因此不能直接在一方中引入另外一方,因此:
1. 在c++中调用c ,只需要在 .cpp原文件里加入:
extern "c"
{
}
2. c调用 c++ 将 .cpp文件全部包含到 extern "c" 中
3. 若 c++ 的文件不允许再修改,还想让 c调用,则:
自己写一个中件文件,中间文件引入不可修改的文件和 extern "c" 即对不可修改的文件的再包装
4. 利用宏来区分是c 还是 c++的文件:
#ifdef __cplusplus
{.......};
#endif
引用:
引用是内存单元的别名, 引用的底层是用指针来实现的,在所有使用引用的地方,编译器会先给其解引用(*p)再来使用
因为其底层是指针实现的,因此作为返回值时,不能返回 普通局部变量 的引用
引用的特点:
1.引用一定要初始化
2. 引用必须要引用能取地址的数据
3.引用变量使用时使用的是其所引用的变量, int a =10; int &p = a; 此时对p操作就是对a操作
4.引用变量自身在写代码时不能改变,即其只能操作其引用的变量
常引用:
1. 常引用 引用不能取地址的数据 //const int &p = 10;
2. 不能取地址的数据会生成一个临时量, 常引用就是引用临时量