1、继承不要随便使用,继承规则应当是:若在逻辑上 B 是 A 的“一种” ,并且 A 的所有功能和属性对 B 而言都有意义,则允许 B 继承 A 的功能和属性。
2、 如果输入参数采用“指针传递” ,那么加 const 修饰可以防止意外地改动该指针,起到保护作用。
如:void StringCopy(char *strDestination, const char *strSource);
3、 如果输入参数采用“值传递” ,由于函数将自动产生临时变量用于复制该参数,该输入参数本来就无需保护,所以不要加 const 修饰。举例:不要将函数 void Func(int x) 写成 void Func(const int x)。
4、 对于非内部数据类型的参数而言,象 void Func(A a) 这样声明的函数注定效率比较底。因为函数体内将产生 A 类型的临时对象用于复制参数 a,而临时对象的构造、复制、析构过程都将消耗时间。所以我们要用到引用传递。改成:void Func(A &a)。但还有一个问题,就是这样的话a 很容易在函数内被 意外地修改了,怎么办?这时就可以用const来帮忙:void Func(const A &a);
5、 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加 const 修饰的同类型指针。
const char * GetString(void);
如下语句将出现编译错误:
char *str = GetString();
正确的用法是
const char *str = GetString();
如果函数返回值采用“值传递方式” ,由于函数会把返回值复制到外部临时的存储单元中,加 const 修饰没有任何价值。 例如不要把函数 int GetInt(void) 写成 const int GetInt(void)。
6、类中的const函数不能调用非const函数
class Stack
{
public:
void Push(int elem);
int Pop(void);
int GetCount(void) const; // const 成员函数
private:
int m_num;
int m_data[100];
};
int Stack::GetCount(void) const
{
++ m_num; // 编译错误,企图修改私有成员 m_num
Pop(); // 编译错误,企图调用非 const 函数
return m_num;
}
到些,《高质量C++/C编程学习笔记》系列文章已经发表完了。
分享到:
相关推荐
### 高质量C++编程指南知识点总结 #### 1. 布尔变量的比较 在C++中,不应该直接将布尔变量与`TRUE`, `FALSE`或`1`, `0`进行比较。...以上总结了《高质量C++编程指南》中提到的关键知识点,希望对您的学习有所帮助。
C++是一种广泛使用的编程语言,尤其在系统软件、应用程序、游戏开发、设备驱动等领域...《C++ Primer》提供的学习笔记是初学者和进阶者都非常宝贵的资源,结合实际的编译器操作和错误调试,能够帮助你逐步精通C++编程。
以上知识点只是冰山一角,深入学习"高质量C/C++编程指南",结合作者的笔记和总结,将有助于你在C/C++编程领域达到更高的水平。记住,实践是最好的老师,不断编码、反思和改进是成为优秀程序员的必经之路。
《高质量程序设计指南:C、C++语言(第3版)》不仅仅是一本技术书籍,更像是一位经验丰富的导师,引领着读者进入C/C++编程的世界。通过系统学习本书中的理论知识与实战技巧,读者能够显著提升个人编程技能,在职业...
《高质量C++/C编程指南》是一本专门针对C++和C编程的指南,它涵盖了编程的最佳实践、陷阱和技巧,以帮助程序员编写出高效、可维护的代码。这本书可能包括了模板元编程、异常处理、STL(标准模板库)的使用、内存管理...
高质量C++编程学习笔记.doc
《高质量程序设计指南:C++/C 语言(第三版)》是一本深入探讨软件开发质量和C++/C 编程规范的书籍...通过深入阅读和实践,读者将能够掌握编写高质量C++/C程序的技巧,并理解如何在实际开发中实施有效的软件工程方法。
《Visual C++/MFC学习笔记》是一份深入探讨C++和Microsoft Foundation Class (MFC)库的文档,旨在帮助读者掌握使用Visual C++开发Windows应用程序的技能。这份笔记主要分为六个章节,覆盖了从入门到高级的多个主题。...
《高质量C++编程指南》是一本深受欢迎的C++学习资料,特别适合初学者作为入门教程。这本书结合了丰富的编程经验和实例,旨在帮助读者掌握C++编程的核心概念、语法和最佳实践。通过阅读这本书和相应的笔记,学习者...
通过学习,你可以提升自己的QT编程能力,开发出高质量、跨平台的应用程序。同时,提供的"QT高级编程视频教程-最强初级到高级编程开发丁林松--QT高级编程视频教程-最强初级到高级编程开发.txt"文本文件,很可能是课程...
### C++ 提高编程学习笔记:泛型编程与 STL 技术详解 #### 一、泛型编程概述 泛型编程是一种编程范式,通过在程序设计中使用参数化的类型来编写代码,使得同一段代码可以处理多种不同的数据类型。这种编程方式极大...
《高质量C++编程指南》是一本深受欢迎的C++学习资料,其中包含了丰富的编程实践经验和最佳实践。这本书的笔记部分尤为珍贵,它不仅涵盖了基础的语法和概念,还深入探讨了C++的高级特性和设计模式,对于提升编程技能...
这个压缩包包含的PDF文件很可能包含了各种教程、笔记或者讲解,对于那些对C++编程感兴趣的人来说,是一份极好的学习资料。 C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向...
这份"(强烈推荐大家看一看)高质量C++编程指南(有笔记)1"提供了丰富的资源,旨在帮助学习者提升C++编程技能,特别是在理解和应用方面。下面将详细讨论这份指南中可能涵盖的关键知识点。 1. **基础语法与数据类型**...
从给定的文件信息来看,标题与内容存在明显的不匹配,标题提到的是“高质量C++编程指南”,然而内容却是关于法语学习的笔记。这里,我们将重点放在标题和描述所暗示的知识点上,即C++编程的相关知识。 ### 高质量...
根据给定的文件信息,以下是对《C++编程思想》阅读笔记中提到的关键知识...以上就是从《C++编程思想》阅读笔记中提炼出的关键知识点,它们涵盖了从基础语法到高级编程概念的广泛内容,对于学习和理解C++语言至关重要。
DirectSound是处理音频和声音输出的组件,它允许开发者实现高质量的音效和音乐播放,支持混音、3D音效等功能。在DirectX 9之后,DirectSound也被WMA和XAudio2等更先进的音频API所取代。 DirectInput则负责处理来自...
《新手C++学习笔记》是一份专为编程初学者打造的资源,旨在帮助那些刚刚踏入C++编程领域的“菜鸟”快速成长。这份笔记包含了前辈们的实践经验总结,具有很高的学习价值。文档以.doc格式存储,方便读者使用常见的文字...