C++
isilent
攻城尸
展开
-
C++对象模型之构造函数
最近读《深度探索C++对象模型》,满足了自己不少的好奇心。在此主要讨论下默认构造函数(default constructor) 和拷贝构造函数(copy constructor)的问题。Default Constructor首先以下几种情况下,编译器是不会自动合成默认构造函数的:用户定义了其他带参数的构造函数(包括拷贝构造函数)包含const成员包含引用成员那么其他原创 2012-03-04 21:15:49 · 489 阅读 · 0 评论 -
boost库安装配置(windows平台)
1.下载boost从http://www.boost.org/上下载boost库,当前版本是1.49boost_1_49_0\ .................The “boost root directory” index.htm .........A copy of www.boost.org starts here boost\ ............原创 2012-03-31 18:04:02 · 1694 阅读 · 0 评论 -
Boost库编译时的字节对齐设置
最近用到boost库的serialization模块,之前编译boost时采用默认的选项,而项目中都采用1字节对齐,因此运行时每次都会崩溃。原因是调用堆栈被破坏,大抵现象是原本正常的对象通过传址经过几层函数调用后就变成无效对象了,以前也遇到过类似的对象被莫名其妙破坏的情况,于是想到可能是字节对齐问题。 可以用以下方法修改boost编译时的参数:修改boost_1_XX_X/to原创 2012-04-19 20:55:21 · 922 阅读 · 0 评论 -
【面试题研究2】缺省参数是编译期还是运行期决定
结论:缺省参数是在编译期决定的。 示例代码:class classA{public: classA(){} ~classA(){} virtual void print(int val = 1) { cout<<"from classA "<<val <<endl; }};class classB: public classA{public: cl原创 2013-04-12 21:12:39 · 695 阅读 · 0 评论