
C++
文章平均质量分 83
ciahi
熟悉各种流行游戏的玩法,编程一点不会
展开
-
Effective STL (一)
条款1:仔细选择你的容器deque是唯一一个“在迭代器失效时不会使它的指针和引用失效”的标准STL容器。 条款2:小心对“容器无关代码”的幻想既要和序列容器又要和关联容器一起工作的代码并没有什么意义。很多成员函数只存在于其中一类容器中,比如,只有序列容器支持push_front或push_back,只有关联容器支持count和lower_bound。 在不同的类中,相同的操作名原创 2009-07-19 22:21:00 · 1522 阅读 · 0 评论 -
effecctive STL(二)
条款26:尽量用iterator代替const_iterator,reverse_iterator和const_reverse_iterator有些函数只接受iterator类型的参数。const_iterator不能隐式转换成iterator,即使用变通的办法,也不通用,且不能保证高效。从reverse_iterator转换而来的iterator在转换之后可能需要相应的调整。原创 2009-08-09 23:34:00 · 1646 阅读 · 0 评论 -
Effective C++ (一)
条款1:尽量用const和inline而不用#define尽量用编译器而不用预处理常量的代码在编译时报错,就会很令人费解。因为报错的是常量。代替函数调用的宏会有很多问题。如:#define max(a,b) ((a) > (b) ? (a) : (b)) 比如里面带有++之类的操作 定义某个类(class)的常量一般也很方便,只有一点点不同。要把常量限制在类中,首先要原创 2009-06-16 22:49:00 · 1756 阅读 · 0 评论 -
Effective C++ (二)
条款29: 避免返回内部数据的句柄尽量不要返回类成员变量的地址或引用等句柄,以防止被外部轻易的改变。而且很容易出问题。如返回了一个类内部成员变量指针指向某个缓冲区,在外部调用delete等操作这个缓冲区,势必造成类内部成员变量不能再有效的使用了。也不要返回了一个局部对象,局部对象出了作用域之后就被销毁。 条款30: 避免这样的成员函数:其返回值是指向成员的非const指针原创 2009-06-22 23:09:00 · 1413 阅读 · 0 评论 -
More effective c++ (一)
Item M1:指针与引用的区别引用必须被初始化,且不能改变它本身使其成为另一个变量的别名。Item M2:尽量使用C++风格的类型转换这样的类型转换不论是对人工还是对程序都很容易识别。它们允许编译器检测出原来不能发现的错误。你能用dynamic_cast把指向基类的指针或引用转换成指向其派生类或其兄弟类的指针或引用,而且你能知道转换是否成功。失败的转换将返回空指针(当原创 2009-06-30 16:52:00 · 965 阅读 · 0 评论 -
More effective c++ (二)
Item M17:考虑使用lazy evaluation(懒惰计算法)如:String s1 = "Hello";String s2 = s1;或许s2在程序中根本不会用到,所以在开始的时候不要调用s2的赋值构造函数来初始化,到后面要用,或者要改写s2的值的时候再调用,再进行赋值。 Item M18:分期摊还期望的计算比如要计算某组数据的平均值。 我们可以在每一个新数值原创 2009-07-05 11:21:00 · 1347 阅读 · 0 评论