c++/oop---引用/动态内存/内联函数/函数重载
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 ,能变快
原理是把函数语句放到调用的地方,这样减少了调用函数的时间
函数重载
多个函数,参数不同,名字相同,编译器认得出
函数的缺省参数
定义的时候给参数缺省值,如果调用时不传参那就用缺省值
只能是最右边的连续若干个参数,不写的时候一起不写
真的鸡肋,可能写庞大的程序时有点用
“函数参数可缺省的目的在于提高程序的可扩充性。 即如果某个写好的函数要添加新的参数,而原先那些调用该函数的语句, 未必需要使用新增的参数,那么为了避免对原先那些函数调用语句的修 改,就可以使用缺省参数。”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?