Augusdi的专栏

攀登技术的高峰,我与大家共勉!

成员初始化表

成员初始化表#include class Account {public:Account();Account( const char*, double=0.0 );Account( const string&, double=0.0 );Account( const Account&...

2014-07-29 16:46:03

阅读数 1133

评论数 0

拷贝构造函数

拷贝构造函数有三种情况,会以一个object的内容作为另一个class object的初值。最明显的一种情况当然就是对一个object做明确得初始化操作,像这样:class X{…};X x;//明确地以一个object的内容作为另一个class object的初值X xx = x;另两种情况是当...

2014-07-29 16:44:39

阅读数 1001

评论数 0

指向数据成员的指针

指向数据成员的指针指向数据成员的指针,是一个有点神秘又颇有用处的语言特性,特别是如果你需要详细调查class members的底层布局的话。这样的调查可以用于决定vptr是放在class的起始处或者尾端。另外一个用途是可以用来决定class中的access sections的次序。考虑下面的Poi...

2014-07-29 16:42:55

阅读数 917

评论数 0

链接指示符extern “C”

链接指示符extern “C”extern“C”的使用方式如果程序员希望调用其他程序设计语言(尤其是C)写的函数,那么,调用函数时必须告诉编译器使用不同的要求。例如,当这样的函数被调用时,函数名或参数排列的顺序可能不同,无论是C++函数调用它,还是用其他语言写的函数调用它。程序员用链接指示符(li...

2014-07-29 16:41:50

阅读数 1496

评论数 0

数据成员的布局

数据成员的布局已知下面一组数据成员:class Point3d{public://…private:float x;static List *freeList;float y;static const int chunkSize = 250;float z;}非静态数据成员在class objec...

2014-07-29 16:41:37

阅读数 1126

评论数 0

C++中的虚函数

C++中的虚函数(virtual function)简介缺省情况下,类的成员函数是非虚拟的。当一个成员函数为非虚拟的时候,通过一个类对象(指针或引用)而被调用的该成员函数,是该类对象的静态类型中定义的成员函数。当成员函数是虚拟的时候,通过指针或引用而被调用的该成员函数,是在该类对象的动态类型中被定...

2014-07-29 16:38:00

阅读数 854

评论数 0

指向函数的指针

指向函数的指针假定我们被要求提供一个如下形式的排序函数:sort( start, end, compare );start 和end 是指向字符串数组中元素的指针。函数sort()对于start 和end 之间的数组元素进行排序。compare 定义了比较数组中两个字符串的比较操作。该怎样实现co...

2014-07-29 16:38:00

阅读数 797

评论数 0

C++中指向成员函数的指针

指向成员函数的指针       取一个非静态成员函数的地址,如果该函数是nonvirtual,则得到的结果是它在内存中真正的地址。然而这个值也不是完全的,它也需要被绑定于某个class object的地址上,才能够通过它调用该函数。所有的非静态成员函数都需要对象的地址(以参数this指出)。一个指...

2014-07-29 16:37:27

阅读数 944

评论数 0

C++中的成员函数

成员函数假设有一个Point3d的指针和对象:Point3d obj;Point3d *ptr = &obj;当进行如下操作:obj.mormalize();ptr->normalize();时,会发生什么事情呢?其中的Point3d::normalize()定义如下:Point3d...

2014-07-29 16:36:22

阅读数 4216

评论数 0

C++中对象的大小

C++中对象的大小需要多少内存才能表现一个class object?一般而言要有:n  其nonstatic data members的总和大小;n  加上任何由于字节对齐需要而填充上去的空间(可能存在与members之间,也可能存在于集合体边界);n  加上为了支持virtual而由内部产生的任...

2014-07-29 16:19:47

阅读数 839

评论数 0

RTTI 运行时类型识别

RTTI 运行时类型识别《c++ primer》3thRTTI(运行时类型识别)允许“用指向基类的指针或引用来操纵对象”的程序能够获取到“这些指针或引用所指对象“的实际派生类型。在c++中,为了支持RTTI,提供了两个操作符:1、dynamic_cast 操作符,它允许在运行时刻进行类型转换,从而...

2014-07-29 16:19:01

阅读数 719

评论数 0

嵌套类 局部类

嵌套类局部类《c++ primer 3th》嵌套类一个类可以在另一个类中定义,这样的类被称为嵌套类。嵌套类是其外围类的一个成员。嵌套类的定义可以出现在其外围类的公有、私有或保护区中。嵌套类的名字在其外围类域中是可见的,但是在其他类域或名字空间中是不可见的,这意味着,嵌套类的名字不会与外围域中声明的...

2014-07-29 16:18:12

阅读数 778

评论数 0

public private 和protected 继承

public private 和protected 继承 在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,private继承是最少见的继承关系。1. public从语义角度上来说,public继承是一种接口继...

2014-07-29 16:16:20

阅读数 927

评论数 0

shared_ptr解析

shared_ptr解析《超越C++标准库-Boost库导论》头文件: "boost/shared_ptr.hpp"几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。这些智能指针让我们不再需要为了管理被两个或多个对象共享的对象的生存期而编写复杂的逻辑。当引用计数降为零,...

2014-07-29 16:15:00

阅读数 910

评论数 0

auto_ptr解析

auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针,这个不怎么智能的智能指针难免会黯然失色。诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那样非常小心地使用它才能保证不出错,以至于它甚至无法适用于同是标准库中的...

2014-07-29 16:13:12

阅读数 673

评论数 0

scoped_ptr解析

scoped_ptr解析《超越C++标准库-Boost库导论》头文件: "boost/scoped_ptr.hpp"boost::scoped_ptr 用于确保动态分配的对象能够被正确地删除。scoped_ptr有着与std::auto_ptr类似的特性,而最大的区别在于它不能...

2014-07-29 16:11:51

阅读数 865

评论数 0

C++中const、volatile、mutable的用法

const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value; TYPE const value; 这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针...

2014-07-29 15:57:55

阅读数 624

评论数 0

虚拟继承

虚拟继承《c++ primer 3th》p813在缺省情况下,C++中的继承是按值组合的一种特殊情况。当我们写:class Bear : public ZooAnimal { ... };每个Bear 类对象都含有其ZooAnimal 基类子对象的所有非静态数据成员,以及在Bear中声明的非静态数...

2014-07-29 15:52:11

阅读数 689

评论数 0

C++中的volatile用法

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:     1). 并行设备的硬件寄存器(如:状态...

2014-07-29 15:51:16

阅读数 590

评论数 0

C++中的多态-虚函数-纯虚函数-抽象类

这么一大堆名词,实际上就围绕一件事展开,就是多态,其他三个名词都是为实现C++的多态机制而提出的一些规则,下面分两部分介绍,第一部分介绍【多态】,第二部分介绍【虚函数,纯虚函数,抽象类】一 【多态】多态的概念 :关于多态,好几种说法,好的坏的都有,分别说一下:1指同一个函数的多种形态。个人认为这是...

2014-07-29 15:41:15

阅读数 1309

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭