1. 虚函数不能是内联的
因为“内联”是指“在编译期间用被调用的函数体本身来代替函数调用的指令,”但是虚函数的“虚”是指“直到运行时才能知道要调用的是哪一个函数。”如果编译器在某个函数的调用点不知道具体是哪个函数被调用,你就能知道为什么它不会内联该函数的调用。
2.VS2017实用快捷键
Ctrl+M+L:展开代码/收起代码
3.构造函数&拷贝构造函数&析构函数
转自:https://www.cnblogs.com/nigang/p/3613452.html
class CExample { public : CExample(){pBuffer=NULL; nSize=0;} //构造函数 ~CExample(){delete pBuffer;} // 析构函数 CExample(const CExample&); //拷贝构造函数 void Init(int n){ pBuffer=new char [n]; nSize=n;} private : char *pBuffer; //类的对象中包含指针,指向动态分配的内存资源 int nSize; }; //拷贝构造函数的定义 CExample::CExample(const CExample& RightSides) { nSize=RightSides.nSize; //复制常规成员 pBuffer=new char [nSize]; //复制指针指向的内容 memcpy(pBuffer,RightSides.pBuffer,nSize*sizeof (char )); }
4.动态数组
//创建N项动态数组 int *arr=new int[N]; //获取动态数组的长度 sizeof(arr)/sizeof(arr[0]) //删除动态数组 delete[] arr;