C++ 学习笔记 易错点

来源:互联网 发布:免费qq群排名优化 编辑:程序博客网 时间:2024/06/02 09:33

1.生成对象时,先调用父类的构造函数再调用子类的构造函数,析构时相反。

2.函数模版实例化由编译器实现,一个类定义中,只要有一个函数模版,则这个类是类模版,类模版的成员函数都是函数模版,类模版实例化后,成员函数也随之实例化。

3.

char a[14];a="hello world";//数组首地址为常量,不允许被改变
4.instanceof判断一个对象是否为一个类的实例、一个子类的实例、一个实现指定接口的类的实例。

5.析构函数不可重载

6.不能声明为虚函数的有:构造函数,静态成员函数,内联函数,友元函数。

7.构造函数声明为虚函数,防止只析构基类而不析构派生类。

8.二叉树的第i层最多有2^(i-1)个结点

9.二叉树的高度为k,最多有2^k-1,最少有2^(k-1)个结点

10.数据段分为data段(已经初始化且不为0的static和global数据)和bss段(未经初始化或初始化为0的gloabl和static变量)

11.

char * const p;//指针常量const char * p;常量指针

12.静态变量放在全局数据区,而不是堆栈中。

13.volatile提示编译器不对变量进行存取优化。使用完之后立刻写回硬盘,提示可能有外部程序更改变量的值。

14.

char *p[10];//指针数组char (*p)[10];数组指针
15.在类方法中,默认参数是静态绑定的,所以绝不重新定义继承而来的缺省参数。

16.选堆快系不稳,选堆归基不变。

17.C++的单例模式

#include<iostream>#include<thread>#include<mutex>using namespace std;mutex m;class Singleton{public:Singleton * getInstance();private:Singleton * instance;Singleton() {};Singleton(const Singleton& a) {};Singleton operator =(const Singleton & a) {};};Singleton * Singleton::getInstance(){if (instance==NULL){m.lock();if (instance==NULL){instance = new Singleton();}m.unlock();}return instance;}



0 0
原创粉丝点击