C++编程要点总结
需积分: 9 159 浏览量
更新于2024-09-08
收藏 1.36MB PPTX 举报
"高质量C++编程"
C++是一种高效、灵活的编程语言,但是在编程过程中需要注意许多细节,以避免常见的错误和问题。以下是C++编程中需要注意的几个点:
1. 常成员变量的使用
在C++中,常成员变量只能通过构造函数的初始化表对常成员变量进行初始化。常成员变量可以像普通成员变量一样被访问,但是其值不能被修改。对于类来说常成员变量的值是可变的,因为可以创建不同的对象。思考:怎样创建整个类中的恒定的常量呢?
2. 函数设计的注意事项
在函数设计中,需要注意参数的传递方式。如果参数以值传递方式传递对象,则宜改用“const&”。返回值以引用或者指针方式传递时不能返回局部对象的引用或指针。如果函数返回值是一个对象,要考虑return语句的效率。
3. 内存管理的注意事项
内存管理是C++编程中一个非常重要的方面。指针与数组的对比是非常重要的。数组的地址与容量在生命期内保持不变,只有内容可以改变。指针可以随时改变所指的内存块。不能对数组名进行直接的复制与比较。sizeof使用的差别也需要注意。
内存管理的另一个重要方面是指针参数传递内存。例如,void GetMemory(char* p, int num) { p = (char*)malloc(sizeof(char) * num); },在这种情况下,p的值不会被改变。
4. new/delete与malloc/free的注意事项
在C++中,new/delete和malloc/free是两个不同的内存管理机制。new/delete是C++的operator,malloc/free是C的标准库函数。在使用这两个机制时需要注意一些重要的细节:内存被释放了,并不表示指针会自动消亡或者指向NULL;指针消亡了,并不表示它所指向的内存会被自动释放;非内部数据类型申请释放内存用new/delete;申请空间之后记得判断是否申请成功,然后再使用;delete释放对象数组时不要忘记delete后面加[]。
5. C++函数的高级特性
C++函数的高级特性包括函数的重载与覆盖、类的构造函数、析构函数与赋值函数等。构造函数的注意事项包括:派生类必须在其初始化表里调用基类的构造函数;类的const常量只能在初始化列表里被初始化;缺省的拷贝构造函数和赋值函数均以“位拷贝”的方式存在,若类中含有指针变量,那么这两个函数将隐含了错误;拷贝构造函数在对象创建时调用,而赋值构造函数只能被已经存在的对象调用。
weixin_42792296
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析