1. 类中定义的静态变量在编译时没有出错,但是在链接时出现错误,原因是该静态变量没有初始化。
class Obj {
public:
//...
private:
static vector<string> vstr;
};
vector<string> Obj::vstr;
这样在别的地方就可以使用该静态变量了,具体使用方法很简单,只要Obj::vstr 即可。
2. 一个类中声明了一个指针后,要记得初始化时将此指针赋为空值,在使用时先判断此指针是否为空,否则在使用一个未定义的指针时,会有错误出现;另外在重置指针时,不仅要回收new对象,而且最好将指针赋为NULL;
3. 在一个类中malloc或者new出来的空间,只需在此类的析构函数中进行回收,另外,将所使用的容器(vector, list等)清空即可。
4. 使用对象的get方法返回的数据,最好能使用引用返回。下附函数返回说明:
1)主函数main的返回值:这里提及一点,返回0表示程序运行成功。
2)返回非引用类型:函数的返回值用于初始化在跳用函数出创建的临时对象。用函数返回值初始化临时对象与用实参初始化形参的方法是一样 的。如果返回类型不是引用,在调用函数的地方会将函数返回值复制给临时对象。且其返回值既可以是局部对象,也可以是求解表达式的结果。
3)返回引用:当函数返回引用类型时,没有复制返回值。相反,返回的是对象本身。
int &func(int& a) { return a; } int main(int argc , char* args[]) { int a=0; int b=func(a); printf("&a=0X%08X,&b=%08X\n",&a,&b); }
运行结果:
&a=0X0012FF7C,&b=0012FF78
这里可以看到,返回变量的地址和传入地址是不同的。变量b是main函数中自己的栈中生成的。
int& c=func(a)
那么c就是指向a,
a变化那么c也跟着变化,
在上面b的情况,
是重新分配了一个空间,
因此不会同步变化。
相关推荐
c++学习笔记/知识要点精华版
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记
c++学习笔记.pdf
C++学习笔记C++学习笔记C++学习笔记C++学习笔记C++学习笔记
C++学习笔记
C++学习笔记.docx
c++完美学习笔记c++完美学习笔记c++完美学习笔记c++完美学习笔记
【C++学习笔记】一份详细的学习笔记,让你轻松掌握C++编程!
C++学习笔记: 以学习、思考、记录、分享为乐。
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记002
C++学习笔记
C++基础的学习笔记(其中的代码源件可私信留言) C++中的空头程序 使用C++书写hello world 学习变量 学习常量 标识符命名规则 数据类型 运算符 程序流程结构 数组 函数 指针 结构体
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记003
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记004
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记001
Visual C++学习笔记,切身学习体会和总结
C++学习笔记经典(与C比较),是学习C++的好资料。
适用人群:C++初学者及C++期末考试冲刺 此C++学习笔记是本人在学习中思考总结所得,能够很好地帮助你入门C++或冲刺期末考试,让你掌握C++基础。
该笔记是我在mooc上看C++程序设计时做的一些笔记,因为是突发学习C++,要什么就学习什么,现在已经学到“文件输入输出流”,因为现在的项目不需要用到模板的知识,所以暂时只学到这么多,之后肯定还得学的,这个老师...