文章 2011-05-24 来自:开发者社区

40、C++ Primer 4th笔记,特殊工具与技术,不可移植特征

1、程序可以从一个机器容易得移植到其他机器,则称此程序是可移植的。C语言是可移植的。 当然,C语言也定义了一些固有的不可移植的特性: 1)算术类型的大小随机器不同而变化。 C++另外两个从C语言继承来的不可移植的特性:位域和volatile限定符(这两个特性使与硬件的直接通信更容易),链接批示(使得可以链接到用其他语言编写的程序)。 2、位域     位域(bit-f...

文章 2011-05-24 来自:开发者社区

39、C++ Primer 4th笔记,特殊工具与技术,联合(union)

1、联合(union)是一种特殊的类。一个union对象可以有多个数据成员,但是任何时刻,只有一个成员可以有值。当将一个值赋给union对象的一个成员的时候,其他所有成员都变为未定义的。每个 union 对象的大小在编译时是固定的:至少与最大数据成员的一样大。 2、union不能作为基类使用,所以成员函数不能为虚函数。union不能具有静态数据成员或引用成员,而且,union不能具有定义了构造.....

文章 2011-05-23 来自:开发者社区

37、C++ Primer 4th笔记,特殊工具与技术,类成员指针

1、成员指针(pointer to member)包含类的类型以及成员的类型。成员指针只应用于类的非static成员。static类成员不是任何对象的组成部分,所以不需要特殊语法来指向static成员,static成员指针是普通指针。通过指定函数的返回类型,形参表(类型和数目,是否为const)和所属类来定义成员函数的指针。 2、使用类成员的指针     类似于成员访...

文章 2011-05-23 来自:开发者社区

36、C++ Primer 4th笔记,特殊工具与技术,运行时类型识别

1、通过运行时类型识别,程序能够使用基类的指针或引用来检索这些指针或引用所指对象的实际派生类型。 通过以下两种操作符提供RTTI: 1)typeid操作符,返回指针或引用所指对象的实际类型。 2)dynamic_cast操作符,将基类类型的引用或指针安全地转换为派生类型的指针或引用。 这些操作符只为带有一个或多个虚函数的类返回动态类型信息,对于其他类型,返回静态(即编译时)类型的信息。对...

文章 2011-05-22 来自:开发者社区

34、C++ Primer 4th笔记,特殊工具与技术,优化内存分配(1)

1、C++的内存分配是一种类型操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象。new表达式自动运行合适的构造函数来初始化动态分配的类类型对象。 2、在每种情况下(预先分配内存以保存用户级(user-level objects)对象或者保存类的内部数据)都需要将内存分配与对象构造分离开。 3、对未构造的内存中的对象进行赋值而不是初始化,其行为是未定义的。对许多类而言,这...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注