
SLT C++
smells2
热爱编程,学习能力强,有协作精神。
展开
-
不再为ASCII码值是多少烦恼
Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex-------------------------------------------------------------------------------------(nul) 0 0000 0x00 | (sp)转载 2011-11-20 20:58:06 · 2566 阅读 · 0 评论 -
一个全局对象管理类
一个全局对象管理类 作者:Panic 全局对象主要存在三个比较大的问题: 一:全局对象的构造顺序是无法确定的,完全取决于编译器的实现。有些全局对象具有相互之间的依赖性,需要满足一定的构造或者析构顺序,这种不确定的构造顺序有可能会造成难以预料的错误。 二:全局对象的构造/析构函数有可能会抛出异常,据我所知,主流C++编译器并不提供捕获全局对象构造/析构函数异常的机转载 2012-10-08 18:27:14 · 1275 阅读 · 0 评论 -
括号运算符的重载
今天,读一段代码,发现了一段非常诡异的代码,我把它列在下面:Bool TAppEncCfg::parseCfg( Int argc, Char* argv[] ){ po::Options opts; opts.addOptions() ("help", do_help, false, "this help text") ("c", po::parseConfigFile,原创 2012-06-06 21:14:57 · 8302 阅读 · 1 评论 -
运算符重载需要注意的几点
考虑到矩阵的不同的运算,使用运算符重载后会和数字计算一样,提高代码可读性。注意以下几点:1.除了‘=’运算符以外,其他的运算符重载最好设计成为友元函数。2.把‘=’运算符重载为类成员变量,并且将返回值设计成为该类的引用。3.一定要自定义一个拷贝构造函数,这样在重载运算符返回对象副本的时候,编译器会自动调用拷贝构造函数,否则会出现结果错误。4.友元关系不会被派生类继承。5.'原创 2012-03-15 19:59:03 · 1534 阅读 · 0 评论 -
C++模板编译问题
今天做一个矩阵类,打算使用模板,结果出现了问题。问题描述:像往常一样在Matrix.h文件中定义了一个模板类,如下templateclass Matrix{Matrix();}在Matrix.cpp文件中定义类成员函数,如下templateMatrix::Matrix(){}编译不通过最后找到解决办法,将cpp文件的内容写到头文件中,即函原创 2012-03-14 20:39:47 · 672 阅读 · 0 评论 -
C++ Templates:深入模板基础
参数化声明: 成员函数模板不能被声明为虚函数,因为虚函数调用机制的普通实现都使用了一个大小固定的表,每个虚函数都对应表的一个入口。然而,成员函数模板的实例化个数,要等到整个程序都翻译完毕才能够确定,这就和表的固定大小发生了冲突。类模板不能和另外一个实体共享一个名称,这一点和class类型是不同的:int x;template class x; //错误struct x;转载 2012-03-14 19:30:44 · 930 阅读 · 0 评论 -
C++中头文件互相包含问题
信心满满地做了一个程序,十分顺手,半个小时搞定,F5编译,竟然报错“1>d:\vc2005\meetingroom\meetingroom\RoomManager.h(20) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)1>d:\vc2005\meetingroom\meetingroom\RoomManager.h(20) : error C4430: 缺少类原创 2011-12-05 12:47:59 · 2389 阅读 · 0 评论 -
如何学习标准C++
其中有几条觉得写的不够贴切,所以删了,发了余下的部分1.把C++当成一门新的语言学习; 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑转载 2011-11-09 16:03:48 · 646 阅读 · 0 评论 -
字符串与数值转换
标准C++中的数字和字符串间的转换(转帖)一、标准C下的数字和字符串间的转换通过ssprinf和sscanf来实现的。示例如下:int Number = 123; // number to convertchar Result[16]; // string which will contain the numbersprintf ( Result, "%d", Number );转载 2011-11-06 12:42:11 · 732 阅读 · 0 评论 -
vs2010快捷键
VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIF转载 2012-11-12 22:41:39 · 760 阅读 · 0 评论