C++编程要点:从C到C++

需积分: 0 0 下载量 144 浏览量 更新于2024-07-23 收藏 516KB PDF 举报
"Effective C++中文版.pdf" 本书《Effective C++中文版》是一本关于C++编程的经典书籍,旨在帮助读者更好地理解和掌握C++编程语言。下面是从书中提取的一些重要知识点: 1. C++与C的区别 C++作为C的超集,提供了更多的选择和可能性。C++中的宏、指针、结构、数组和函数等元素在C中也存在,但是C++中还有更多的元素,如私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、名字空间等。这些元素使得C++比C具有更宽广的空间和选择性。 2. 条款1:尽量用const和inline而不用#define 在C++中,使用#define预处理宏来定义常量是非常不好的实践。因为预处理宏是在编译器之前处理的,所以编译器永远也看不到宏定义的符号名。例如,使用#define ASPECT_RATIO 1.653来定义一个常量,编译器将永远也看不到ASPECT_RATIO这个符号名,而是看到1.653。如果涉及到这个常量的代码在编译时报错,错误信息将指向1.653,而不是ASPECT_RATIO。 解决这个问题的方案是使用const关键字来定义常量,例如const double ASPECT_RATIO = 1.653;。这样可以避免使用预处理宏的缺陷。 3. 指针常量的定义 在定义指针常量时,需要注意两点。首先,指针所指的类型需要定义成const,例如const char*const auth;。其次,指针也需要定义成const,以避免指针被修改。 4. C++的编程思想 C++是一种更加复杂和灵活的编程语言,需要程序员具有更多的编程思想和经验。C++程序员需要能够熟练地使用C++的特性,例如类、模板、异常等,而不是简单地使用C的编程思想。 5. C++的设计理念 C++的设计理念是提供更多的选择和可能性,而不是简单地继承C的思想。C++程序员需要能够熟练地使用C++的特性,避免使用C的老习惯和思维方式。 《Effective C++中文版》是一本非常实用的书籍,旨在帮助读者更好地理解和掌握C++编程语言。书中提供了许多实用的编程经验和技术,能够帮助读者快速提高C++编程能力。