渔舟唱晚的天空
——welkinwalker的遐想
摘要: explicit构造函数class IntCell{ public: explicit IntCell(int initialValue=0):storedValue(initialValue){}private: int storeValue;};所有的单参数的构造函数都必须是explicit的,以避免后台的类型转换。否则,一些宽松的规则将允许在没有显示类型转换操作的情况下进行类型转换。通常,这种不希望发生的行为会破坏代码的可读性,并导致难以发现的错误。考虑以下例子:IntCell obj;obj=37;在C++中,单参数构造函数定义了一个隐式类型转换,改转换创建了一个临时对象,从而使赋值变 阅读全文
posted @ 2011-11-18 20:46 welkinwalker 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 编译 -g -ggdb更多调试信息 不要用-O,加-O后编译器会做优化,导致程序和二进制代码之间关系变得复杂,给调试带来不必要的麻烦 启动 gdb executable core 分析core文件 gdb executable pid gdb --pid=PID attach到一个运行中的进程 -d dir 到指定目录找源代码 -q 不打印乱七八糟信息 STL支持 通过.gdbinit 进行支持,见http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt help pvector,help pmap ... 阅读全文
posted @ 2011-11-18 18:42 welkinwalker 阅读(3097) 评论(0) 推荐(0) 编辑