C++
阿集
呵呵
展开
-
Effective C++总结
explicit 可以用来阻止隐式类型转化 如果类成员变量里面存在const 或 引用数据成员,则拷贝赋值函数,即operator =,需要自己重写,不可以用默认拷贝赋值;如果有成员变量有指针,视具体情况而定。 为驳回编译器默认的提供的机能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种做法 带有多态性质的base class(即有一原创 2016-09-20 20:28:12 · 292 阅读 · 0 评论 -
static_cast, dynamic_cast探讨
static_cast用法:static_cast < type-id > ( expression ) 说明:该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。 它主要有如下几种用法: 用于类层次结构中基类和子类之间指针或引用的转换。进行上行转换(把子类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成子类指针或引用)时,原创 2016-09-24 15:48:53 · 263 阅读 · 0 评论 -
c++运算符重载总结
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。1.一般运算符重载 在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是在类里转载 2016-10-13 01:46:40 · 379 阅读 · 0 评论 -
C++堆上申请二维数组
假设要申请的是double型大小m*n数组有如下方法方法一:优点:申请的空间是连续的 缺点:较难理解double (*d)[n] = new double[m][n]方法二:优点:容易理解 缺点:申请的空间不能连续且需要多个指针才能管理double *d[m];for (int i=0; i<m; i++) d[i] = new double[n];转自:http://www.cnblogs.c转载 2016-10-13 19:35:59 · 842 阅读 · 0 评论