C++入门——const、引用、内联、动态内存分配

const关键字

C++中const修饰的是一个常量

  1. const常量位于符号表中,正常情况下内存不会为其分配内存空间
  2. 使用常量的时候从符号表中取值
  3. 如果对const常量进行取地址操作,则编译器会为其分配一块空间,但是它本身不会使用

define回顾

定义常量 宏常量 建议用const进行替换
定义函数 宏函数 建议用内联函数进行替换

define与const的区别

  • define是预处理的处理,类型完全替换,会在程序中有多个备份
  • const是编译的时候处理,会进行变量的类型和作用域检测,只在符号表中有一个备份

引用

引用是空间的别名

int a = 10;
int &b = a; //a和b代表同一块空间

使用引用的时候必须要进行初始化

使用引用进行数据交换

引用可以在一定程度上替换指针

// 利用引用进行数交换
void mySwap(int &a, int &b)
{
    int tmp = a;
    a = b;
    b = tmp;// 利用引用进行数交换
}

使用引用进行函数传参

void printS(Student *ps);
void printS(Student &rs)
{
    re.结构体成员
}

函数返回值为引用

注意:不能返回局部变量的引用,可以返回静态变量或者全局变量的引用

  • 使用普通变量接收返回值,接收到变量的值,而不是变量空间
  • 使用引用接收返回值,接收到的是变量的空间(引用)
  • 如果函数返回值为引用,则可以作为左值使用
    func() = 200;
int &func() //函数的返回值是int &引用
{   
    static int sa = 0;  //静态变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值