Item2:尽量以const,enum,inline替换#define原因:1, #define ASPECT_RATIO 1.63 编译错误时产生魔数,应以const double Aspect_Ratio = 1.63替换 2, #define不能提供作用域,如某个类的常量 ...
分类:
编程语言 时间:
2014-07-07 21:32:51
阅读次数:
235
STL Iterator的里里外外(一)?1. Iterator是什么? Iterator是指针的概括物(泛型指针),是可以通过一组通用的接口类似于普通指针那样遍历区间中的所有元素的对象。Iterator是完全抽象的概念:任何行为类似于Iterator的东西就是一个Iterator(例如:指针是数....
分类:
其他好文 时间:
2014-07-07 18:22:39
阅读次数:
179
今天在编译PDF时发现使用了一下STL中的z数值极限竟然编译不过,return GetRangeConstraint(value ::max(), true);出现如下错误:warning C4003: “max”宏的实参不足error C2589: “(” : “::”右边...
分类:
其他好文 时间:
2014-07-07 18:03:56
阅读次数:
190
1. 栈(stack)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的....
分类:
其他好文 时间:
2014-06-30 13:53:53
阅读次数:
185
请注意:(1)确保当对象自我赋值时operator=有良好行为。其技术包括比较“来源对象”和“目标对象”的地址、精心周到的语句顺序、以及copy-and-swap。(2)确定任何函数如果操作一个以上的对象,而其中多个对象是同一个对象时,其行为仍然正确。
分类:
编程语言 时间:
2014-06-29 20:21:52
阅读次数:
157
请记住:(1)Copying函数应该确保复制“对象内的所有的成员变量”及“所有base class成分”。(2)不要尝试以某个copying函数实现另一个copying函数。应该将共同机能放在第三个函数中,并有两个copying函数共同调用。
分类:
编程语言 时间:
2014-06-29 20:18:48
阅读次数:
236
现代 C++ 强调:基于堆栈的范围,而非堆或静态全局范围。自动类型推理,而非显式类型名称。智能指针而不是原始指针。std::string和std::wstring类型(请参见),而非原始char[]数组。标准模板库(STL) 容器(例如vector、list和map),而非原始数组或自定义容器。请参...
分类:
编程语言 时间:
2014-06-29 18:46:28
阅读次数:
255
学长说现在基本上可以开始学习STL中一些标准模板了,今天先总结一下 队列、栈、优先队列
1、队列(queue)
先进先出原则,头文件#include ,定义结构queue名称;queueq、queueq等;
如:
struct node
{
int x;
}f;
queueq;//结构体类型队列
q.push(f) //将f压入队列的尾部
node t...
分类:
其他好文 时间:
2014-06-28 08:36:49
阅读次数:
162
(一)
下面这段代码:
int x;
void someFunc()
{
double x; //local variable
std::cin>>x; //read a new value to local x
}
这个指涉的是local变量x,而不是global变量x,因为内存作用域会的名称遮掩外围作用域的名称。当编译器处于someFunc的作用域内并遭遇...
分类:
编程语言 时间:
2014-06-28 07:58:25
阅读次数:
281
1 c++ 类的数据成员的初始化发生在构造函数前class InitialData{ public: int data1; int data2; InitialData(int a, int b) { ...
分类:
编程语言 时间:
2014-06-27 22:31:42
阅读次数:
375