经验:避免返回handles(包括 references、指针、迭代器)指向对象内部。遵守这个条款可增加封装性,
帮助 const 成员函数的行为像个 const,并将发生“虚吊号码牌”(dangling handles)的可能性降至最低。
示例:
class Point{
public:
Point(int x, int y);
//...
void setX(int newVal);
void setY(int newVal);
//...
};
struct RectData{
Point...
分类:
编程语言 时间:
2014-07-10 22:56:05
阅读次数:
230
1.将大多数 inlining 限制在小型、被频繁调用的函数身上。这可使日后的调试过程和二进制升级更容易,
也可使潜在的代码膨胀问题最小化,使程序的速度提升机会最大化。
2.inline是对编译器的一个申请。
隐喻方式:将函数定义于 class 定义式内, 如成员函数或 friend 函数
明确声明:在定义式前加关键字 inline
编译器会拒绝大过复杂的函数 inlining, 而所有对 virtual 函数的调用也都会使 inlining 落空。
因为 virtual 意味 ”等待,直到运行期才确定...
分类:
编程语言 时间:
2014-07-10 20:49:39
阅读次数:
205
访问类成员函数(cin.getline())方式是从访问结构成员变量方式衍生而来;C++结构体变量申明 struct关键字可省略;c++结构体变量声明初始化, = 可省略;但此需用在c++,大家都知道C++ 11有很多的新 特性C++结构体可以讲String Object作为其成员;struct R...
分类:
编程语言 时间:
2014-07-10 14:46:04
阅读次数:
327
C++ string类的成员函数,用于拷贝、赋值操作,它们允许我们顺次地把一个string 对象的部分内容拷贝到另一个string 对象上。string &operator=(const string &s);把字符串s赋给当前字符串string &assign(const char *s);用c类...
分类:
编程语言 时间:
2014-07-09 23:22:50
阅读次数:
287
C++函数模版与类模版。template void SwapFunction(T &first, T &second){}//函数模版template //类模版class CTemplate{public: void SWap(T &first, T &second){ }};#include.....
分类:
编程语言 时间:
2014-07-09 16:50:30
阅读次数:
210
/*声明一个类模板,利用它分别实现两个整数.浮点数和字符的比較,求出大数和小数。说明:在类模板外定义各成员函数。输入两个整数、两个浮点数和两个字符从大到小输出两个整数、两个浮点数和两个字符*/#include #include using namespace std;templateclass Co...
分类:
其他好文 时间:
2014-07-09 00:40:07
阅读次数:
194
在C++的TR1中(TechnologyReport)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函数时。可以参考Scott Meyers. >. Item 35.下面具体说明其使用方法。
一、指向全局函数或静态成员函数时
因为在本质上讲全局函数和静态成员函数没有区别,使用方法上除了静态成...
分类:
编程语言 时间:
2014-07-08 16:23:42
阅读次数:
309
DECLARE_MESSAGE_MAP(
)
说明:
你的程序中的每一个CCmdTarget的派生类都可以提供一个消息映射以处理消息。在你的类声明的末尾使用DECLARE_MESSAGE_MAP宏。然后,在实现了类成员函数的.CPP文件中加入BEGIN_MESSAGE_MAP宏,再加入每个消息处理函数的宏入口,最后使用END_MESSAGE_MAP宏。
注意:
如果你在DE...
分类:
其他好文 时间:
2014-07-08 16:03:43
阅读次数:
146
2014年7月3日 17:39:35简易版:index.php->codeIgniter.php->找到控制器类文件并include->创建实例->执行成员函数详细版本:index.php包含codeIgniter.php包含Router.php找到控制器类文件并include判断该类是存在&&类名...
分类:
其他好文 时间:
2014-07-05 18:48:12
阅读次数:
290
虚构造函数,这似乎是很违反直观 的一件事情,因为当你拥有一个对象的指针或者引用的时候,你可以通过该对象的动态类型来调用虚函数,而在此处,你的对象还没有构造完成。
其实,“虚构造函数”并不是把你的构造函数声明为virtual,而是某一种函数,根据其输入数据,来决定此时构造什么类型的对象。比如你要从文件或者网络上读取一些数据,从该数据你来决定你要创建什么类型的对象。
比如:
下述的继承体...
分类:
其他好文 时间:
2014-07-04 09:13:37
阅读次数:
249