c++
文章平均质量分 63
cloveroger
这个作者很懒,什么都没留下…
展开
-
关于inline函数
对于一个一般函数或者一个成员函数是否应该inline我表示很迷惑。网上的说法是函数内部代码简短且经常被调用到,那么这个函数应该inline。怎么样的代码属于简短, 什么情况下属于经常被调用到,这个界限到底在哪里。而且这个inline也只是建议编译器对函数调用进行展开代码的动作,原创 2011-08-01 17:41:16 · 375 阅读 · 0 评论 -
C++中成员初始化列表的使用
既然我们一般都是在构造函数里面初始化对象的每一个成员,那我们为什么要用初始化成员列表呢?下面的三种情况中在构造函数里面必须用到成员初始化列表。 需要初始化的数据成员是对象的情况。需要初始化const修饰的类成员需要初始化引用成员数据 举例说明: class cP原创 2011-07-29 17:06:32 · 250 阅读 · 0 评论 -
强制类型转换
static_cast运算符完成相关类型之间的转换,例如在同一个层次结构中的一个指针类型到另一个指针类型,整 型到枚举类型,或者浮点类型到整型等。 reinterpret_cast处理互不相关类型之间的转换,例如从整型到指针,或者 从一个指针到另一个毫不相干的指针类型。这种原创 2011-08-08 10:24:44 · 222 阅读 · 0 评论 -
程序终止
通过从main()返回通过调用exit()返回。所有已经构造起来的静态对象的析构函数都将被调用,这意味着exit()并不立即终止程序。在析构函数里调用exit()有可能导致无穷递归。调用exit()结束程序,意味着调用它的函数及其调用者里的局部变量的析构函数都不会执行。抛出一个异原创 2011-08-08 15:25:06 · 370 阅读 · 0 评论 -
mutable关键字
mutable关键字意味着不可能是const 物理的和逻辑的常量性 一个成员函数逻辑上是const,但它却仍然需要改变某个成员的值。对于用户而言,这个函数看似没有改变对象的状态,然而,它却可能更新了某些用户不能直接访问的细节。这通常被称为逻辑的常量性。原创 2011-08-08 17:33:53 · 279 阅读 · 0 评论 -
dynamic_cast
dynamic_cast (p) 如果p的类型是T*,或为类型D*且T是D的一个可访问的基类,结果恰如我们直接将p赋值给一个T*。 void f( BB_ival_slider* p ) { Ival_slider* pi1 = p; // ok Ival原创 2011-08-11 15:55:33 · 291 阅读 · 0 评论 -
c++标准库
标准库功能: 提供了对一些语言特征的支持,例如,对于存储管理和运行时类型信息的支持。提供了有关实现所确定的语言方面的一些信息,例如最大的float值。提供了那些无法在每个系统上由语言本身做出最优实现的函数,如sqrt()和memmove()提供了一些非基本的功能,使程序原创 2011-08-12 14:05:37 · 251 阅读 · 0 评论 -
STL自定义分配器
template class crAllocator { public: typedef T value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef T* poin原创 2011-08-17 11:49:58 · 709 阅读 · 0 评论 -
C++11中值得关注的几大变化
赖勇浩(http://laiyonghao.com) 声明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Biggest Changes in C++11(and Why You Should Care)》一文,几乎所有内容都搬了过来,但不转载 2011-08-21 12:06:23 · 282 阅读 · 0 评论