网络异常
请检查网络设置后重试
重新加载
cpp训练营
8
成员
登录后加入频道即可发帖
0/1000
不选择版块
发表
全部
3040643968
2025-02-20
点赞
评论
分享
苏宜旺
频道主
2024-10-31
#cpp
new / delete 与 malloc / free的异同
相同点
都可用于内存的动态申请和释放。
不同点
new / delete 是C++运算符,malloc / free是C/C++语言标准库函数
new自动计算要分配的空间大小,malloc需要手工计算
malloc和free返回的是void类型指针(必须进行类型转换),new和delete返回的是具体类型指针。
new是类型安全的,malloc不是。
点赞
评论
分享
苏宜旺
频道主
2024-10-31
#cpp
const的优点
进行类型检查,使编译器对处理内容有更多了解。
避免意义模糊的数字出现,类似宏定义,方便对参数进行修改。
保护被修饰的内容,防止被意外修改。
为函数重载提供参考。
1
评论
分享
苏宜旺
频道主
2024-10-31
#cpp
在c++中,const还有作用为
const修饰类内的数据成员。表示这个数据成员在某个对象的生命周期是常量,不同对象的值可以不一样,因此const成员函数不能在类内初始化。
const修饰类内的成员函数。那么这个函数就不能修改对象的成员变量。
1
1
分享
苏宜旺
频道主
2024-10-31
#cpp
为什么static静态变量只能初始化一次
所有变量都只初始化一次。但是静态变量在全局区(静态区),而自动变量在栈区。
静态变量生命周期和程序一样,只创建初始化一次就一直存在,不会销毁。
而自动变量生命周期和函数一样,函数调用就进行创建初始化,函数结束就销毁,所以每一次调用函数就初始化一次。
点赞
评论
分享
苏宜旺
频道主
2024-10-31
#cpp
const有哪些用法
用const修饰变量:变量定义时就初始化,以后不能更改。
用const修饰形参:该形参在函数内部不能被修改。
用const修饰函数:返回值是常量不能被修改。
被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
点赞
评论
分享
公告
暂无公告
直播
暂无直播