cpp
lynn_chen
这个作者很懒,什么都没留下…
展开
-
函数不能返回局部指针变量
声明自动指针变量时,编译器为其在堆栈区分配内存,如果在函数中将另外一个自动变量的地址赋值给自动指针变量,在函数调用完毕后,指向堆栈区的栈顶指针将移动到调用此函数之前的地址位置,从而使自动变量失去意义,返回的失去意义的地址将会使程序不稳定。 函数返回指针。本来就是一个比较容易出问题的操作。在霍顿的《VC++ 入门经典》一书中,给出了一个很有代表性的例子,如下: // Ex5_转载 2012-10-08 01:12:14 · 5784 阅读 · 0 评论 -
多重继承 - 构造函数的规则
虚基类的子类的子类在多重继承时,构造函数初始化父类的构造函数将不会将信息传给虚基类,但可以显示调用对应虚基类的构造函数来构造自身对象,从而获得一个虚基类的对象避免多重继承的冲突;如果未显示调用虚基类的构造函数,将自动调用其默认的构造函数。 C++ primer plus 6th 14. Reusing Code in C++ New Constru翻译 2012-11-05 21:20:57 · 1174 阅读 · 0 评论 -
纯虚函数的默认实现
转载至 http://blog.csdn.net/tonywearme/article/details/6979283 在帮新同事进行代码审查的时候,常常会发现这样的问题:代码中原有基类B和派生类D1,现在新加一个派生类D2,它有一个函数f2()。由于经验不足,新同事并没有注意到D1也有类似的函数f1()。于是造成了类似的代码出现在了两个地方,代码冗余造成将来的维护工作异常困难。注意到f(转载 2012-11-07 21:55:28 · 730 阅读 · 0 评论 -
如何用栈实现递归与非递归的转换
http://www.kuqin.com/article/23candcplusplus/331522.html 一.为什么要学习递归与非递归的转换的实现方法? 1)并不是每一门语言都支持递归的. 2)有助于理解递归的本质. 3)有助于理解栈,树等数据结构. 二.递归与非递归转换的原理. 递归与非递归的转换基于以下的原理:所有的递转载 2012-11-08 00:07:53 · 1057 阅读 · 0 评论 -
const形参的函数重载
转载至:http://www.cppblog.com/Marcky/archive/2009/07/12/89796.html 《C++ primer》中提到“仅当形参是引用或指针的时候,形参是否为const才对重载有影响。” int add(int a, int b); int add(const int a, const int b); 我想通过定义这两个函数来实现转载 2012-11-09 10:53:30 · 800 阅读 · 0 评论 -
c++学习小结
1.从虚基类派生,其基类必须是抽象类吗?优势是什么 不一定,可以是普通类 没得优势,只是抽象过程的一种情况 2.抽象类的纯虚函数能不能定义,如果能,其派生类能不用实现此函数而获得定义吗? 能够定义默认实现,但是派生类一样需要实现此方法,如果要使用纯虚函数的默认实现,则必须显示调用。 // TODO原创 2012-11-17 00:38:38 · 751 阅读 · 0 评论