c++/oop---引用/动态内存/内联函数/函数重载

本文介绍了C++中的引用概念,包括其别名性质和作为函数返回值的用法。讨论了如何通过引用改变对象的值,以及常引用的限制。接着讲解了动态内存分配,如new运算符的使用,以及delete用于释放内存。最后提到了内联函数、函数重载和函数缺省参数在C++编程中的应用及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c++/oop

引用

就相当于是原变量

int & a = b

相当于是别名

一个神奇的写法:引用作为函数返回值

1 int n = 4;
2 int & SetValue() {
3 return n;
4 }
5 int main() {
6 SetValue() = 40;
7 cout << n;
8 return 0;
9 }

可以改变想要改的对象

比如说重定义 [] 

给函数传参数的时候写引用,可以改变实参的值

实现类似指针的功能

常引用

const int  & r  = n

const T 类型的常变量和 const T & 类型的引用则不能用来初始化 T & 类型的引用,除非进行强制类型转换

不能通过常引用修改其引用的变量,但可以修改变量改变常引用的值

int n=3;
const int & r = n;
r = 5; //error
n = 4; //ok

此时n=r=4

new 动态内存分配

<type> *<name_p> = new <type>([下标])

Type 数据类型,也可以是数组,指针类型要与数据类型一致

p 指针,指向内存的第一个地址

如果 p = NULL , 说明内存不够了

但是开数组的时候可以直接写 P[0] P[100] 这样

int *p = new int;
    *p = 5;
    cout<<p<<' '<<*p<<endl;
    //0x1ee86b70 5
    
    delete p;
    
    int *s = new int[5];
    s[1]=5;
    cout<<s<<' '<<s[1]<<endl; 
    //0x1ee16b70 5
    delete [] s;

delete 释放空间

 delete p 删除指针 p 指向的空间

delete [] s 删除数组

此时指针没有被删除,可以重新赋值

内联函数

加 inline ,能变快

原理是把函数语句放到调用的地方,这样减少了调用函数的时间

函数重载

多个函数,参数不同,名字相同,编译器认得出

函数的缺省参数

定义的时候给参数缺省值,如果调用时不传参那就用缺省值

只能是最右边的连续若干个参数,不写的时候一起不写

真的鸡肋,可能写庞大的程序时有点用

“函数参数可缺省的目的在于提高程序的可扩充性。 即如果某个写好的函数要添加新的参数,而原先那些调用该函数的语句, 未必需要使用新增的参数,那么为了避免对原先那些函数调用语句的修 改,就可以使用缺省参数。”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值