现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-08-08 18:23 工业·编程 ⁄ 共 1333字 暂无评论
    mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。     在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。它只能用于类的非静态和非常量数据成员.    我们知道,一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化!如果一个类的成...
阅读全文
2012-08-08 16:15 工业·编程 ⁄ 共 1360字 暂无评论
    类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员     初始化阶段可以是显式的或隐式的,取决于是否存在成员初始化表。隐式初始化阶段按照声明的顺序依次调用所有基类的缺省构造函数,然后是所有成员类对象的缺省构造函数。 2.进入构造函数后在构造函数中执行一般计算     计算阶段由构造函数体内的所有语句构成。在计算阶段中,数据成...
阅读全文
2012-08-08 16:07 工业·编程 ⁄ 共 848字 暂无评论
    回调在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。因此,要实现回调,必须首先定义函数指针,请看下面的例子: void Func(char *s);// 函数原型 void (*pFunc) (char *);//函数指针     可以看出,函数的定义和函数指针的定义非常类似。     一般的化,为了简化函数指针类型的变量定义,提高程序的可读性,我们需要把函数指针类型...
阅读全文
2012-08-08 15:55 工业·编程 ⁄ 共 913字 暂无评论
1.Visual Assist(强烈推荐)     VA从5.0一直到现在的VAX,功能越来越 强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在WorkSpace窗口中加入一个VA View,可 以更方便的查找工程中的文件、类和变量。 2.WndTabs(强烈推荐)     WndTabs主要是在编辑窗口中显示了所有已经打开的文件,在VC中...
阅读全文
2012-08-08 15:49 工业·编程 ⁄ 共 868字 暂无评论
1,防止一个头文件被重复包含  #ifndef BODYDEF_H  #define BODYDEF_H    //头文件内容  #endif 2,得到指定地址上的一个字节或字  #define  MEM_B( x )  ( *( (byte *) (x) ) )  #define  MEM_W( x )  ( *( (word *) (x) ) ) 3,得到一个field在结构体(struct)中的偏移量  #define FPOS( type, field ) ( (dword) &(( type *) 0)-> field ) 4,得到一个结构...
阅读全文
2012-08-08 15:37 工业·编程 ⁄ 共 2372字 暂无评论
    在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。 1. do...while(0)消除goto语句 通常,如果在一个函数中开始要分配一些资源,然后在中途执行过程中如果遇到错误则退出函数,当...
阅读全文
2012-08-08 15:35 工业·编程 ⁄ 共 1231字 暂无评论
一、数据类型 数据类型是按照规定形式表示数据的一种方式,不同的数据类型占用空间也不同。 对于数据类型,还应该明白以下几点 1、整型数据 int可以有修饰符 short、long、long long三种,后面的int可省略,默认的整形数据常量为int(#add,共4种,int、short int、long int、long long int)。 2、整型数据 int可以是10进制(默认的),16(0X开头)进制,8进制(0开头)三种。 例如:  8表示十进制整型8  08表示8进制整...
阅读全文
2012-08-08 15:30 工业·编程 ⁄ 共 1345字 暂无评论
    虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推荐的,而一旦离开了多重继承,虚拟继承就完全失去了存在的必要.(因为这样只会降低效率和占用更多的空间,实在是一无是处)。     以下面的一个例子为例: #include <iostream.h> #include <memory.h> class CA { int k; //为了便于说明后面的内存结构特别添加 ...
阅读全文
2012-08-08 14:55 工业·编程 ⁄ 共 1540字 暂无评论
    如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,需要使用C++嵌套类,嵌套类型不应针对其声明类型以外的类型执行任务,而C++局部类允许类、结构和接口被分成多个小块儿并存储在不同的源文件中,这样的实现很容易开发和维护。 C++局部类:     在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对...
阅读全文
2012-08-08 14:38 工业·编程 ⁄ 共 915字 暂无评论
    在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误。     深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的...
阅读全文