- 博客(4)
- 收藏
- 关注
原创 C++ 构造函数&析构函数
构造函数是一种特殊的成员函数,它在创建对象时由编译器自动执行,其主要作用是初始化对象。age = 20;int age;s1.Print();return(0);int age;s1.Print();return(0);可知输出值为随机值。
2025-05-24 17:23:44
1697
原创 C++ new和malloc
C++中,new是一个运算符,用于动态分配内存,返回一个指向分配内存的指针,通常和delete运算符一起使用,用于在堆上分配和释放内存。同C语言的malloc()不同,new通过调用构造函数去初始化对象,当使用delete()释放内存时,会调用对象的析构函数,而对象的生命周期从构造函数完成时开始,到析构函数完成时结束。
2025-05-21 21:46:17
1728
原创 C++引用
对于函数的普通变量而言,是存放在当前开辟函数的栈帧中,即存放在内存中的栈区;const左值引用:因为左值引用要求绑定到一个持久的对象,而右值是临时的,所以左值引用不能绑定右值,否则会导致悬挂引用;指针交换:当使用指针进行两数数值的交换时,我们需要传入两个变量的地址,可以访问到所指向变量的那块地址而对里面的内容进行一个修改。编译器对于函数中的变量需要返回时,不管这个变量是在栈区、堆区或者静态区开辟的空间,都会通过一个临时变量去充当桥梁,帮助其返回给外界的值。暂存一下之后再返回,那对于储存在静态区的变量呢?
2025-05-18 17:45:03
1430
原创 C++ 函数重载
函数重载是函数的一种特殊情况,c++允许再同意作用域内定义或声明几个名称相同的函数,这些函数的形参列表(参数个数 或 类型 或 顺序)必须至少有一个不同,常用来处理实现功能类似但是数据类型不同的问题。注:编译器在编译时会根据参数列表来选择函数,如果找不到匹配的函数或者有二义性(比如有两个重载函数都可以匹配调用,但编译器无法确定哪一个更合适),就会产生编译错误。这样修饰之后的名字包含了函数名和参数类型的信息,这样在链接并运行的时候,计算机就能通过这些名字区别不同的函数版本。注:函数重载和返回值没有关系。
2025-05-02 00:35:19
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人