c/c++相互调用 & 引用

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. 不能取地址的数据会生成一个临时量, 常引用就是引用临时量

 

 

   

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值