编程交流与学习--Effective C++学习之"从C转向C++"

本文介绍了从C语言转向C++时的四个关键建议:使用const和inline替代宏定义以提高安全性;选择<iostream>而非<stdio.h>以增强类型安全性和扩展性;采用new和delete进行内存管理;以及偏好C++风格的注释。

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

学习笔记。
第一章 从C转向C++
条款1:尽量用const和inline而不用#define
为什么呢?1.安全问题,2.方便调试维护,3.等同的速度。本条款可进一步理解为“尽量用编译器而不用预处理”。同时作者推荐了一种全局变量的定义使用模式。同时推荐了模板函数和stl。
条款2:尽量用<iostream>而不用<stdio.h>
为什么呢?类型安全和扩展性。作者强调<iostream>引用的是std名字空间。本人认为,这种c++与c的安全、扩展性、效率、易维护之争,在对效率影响不大的地方是推荐c++风格,在效率优先的地方还是应该倾向于c风格。当然,“作者在假定你如果打算使用c++,那么最好遵循以下条款,我想作者并没有表达c不如c++这种观点”。
条款3:尽量用new和delete而不用malloc和free
为什么呢?c++的内存管理比c容易的很重要的原因在于c++隐藏了一些固有操作,例如new这个操作隐藏了调用构造函数这个过程,delete函数隐藏了调用析构函数的过程,这样就使得一些优秀的编码模式隐藏在了语法的内部。当然,如果将构造析构与对象空间的产生消亡分离开是有益的,采用c风格可能更适合。
条款4:尽量使用c++风格的注释 
为什么呢?方便。同时作者指出,在混合编程时c风格注释有时是更优的,主要是编译器版本问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值