现在位置: 首页 > 自动控制 > 工业·编程 > 文章
在C++中,都知道要“尽量靠近变量实际使用处进行定义”。对此条规则一般的理解是:这是C++对C“函数开始处进行变量定义”的一种优化,目的是方便程序员定义和使用变量。最近学习时发现,这个规则实际上和C++“面向对象的编程语言”本质密切相关。 考虑如下的类定义和代码段: class X { public:   X() : m_number(2);   ~X();   void SetNumber(int number){m_number = numbe...
阅读全文
2012-09-03 19:55 工业·编程 ⁄ 共 2253字 暂无评论
    程序员间交谈时,经常把仅仅需要一小段时间的变量称为临时变量。例如在下面这段swap(交换)例程里: template<class T> void swap(T& object1, T& object2) { T temp = object1; object1 = object2; object2 = temp; } 通常把temp叫做临时变量。不过就C++而言,temp根本不是临时变量,它只是一个函数的局部对象。 在C++中真正的临时对象是看不见的,它们不出现在我...
阅读全文
2012-09-03 19:52 工业·编程 ⁄ 共 3501字 暂无评论
     许多人对临时变量的理解仅仅限于: string temp;      其实,从C++的观点来看,这根本就不是临时变量,而是局部变量.      C++的临时变量是编译器在需要的时候自动生成的临时性变量,它们并不在代码中出现.但是它们在编译器生成的二进制编码中是存在的, 也创建和销毁.在C++语言中,临时变量的问题格外的重要,因为每个用户自定义类型的临时变量都要出发用户自定...
阅读全文
2012-09-03 19:31 工业·编程 ⁄ 共 1925字 暂无评论
文章目录 1、问题 2、测试 3、结果 4、背景与应用 5、补充 1、问题 编程的过程中,思考了一个问题。当一个局部的静态变量使用一个函数的返回值初始化时,如果该函数抛出异常,那么,局部静态变量是否被定义成功,即,如果再次调用包含局部静态变量的函数,抛出异常的函数会不会再次被调用。 2、测试 就此问题,我写了如下的测试程序: #include <iostream> #inc...
阅读全文
2012-09-03 19:28 工业·编程 ⁄ 共 352字 暂无评论
    当变量定义与结构体定义本身一起声明时,可不需再次声明结构体变量,如 struct structintcll {     char name[20];     int numb;     float amt; }xyz;  /*此处已将xyz申请为结构体变量,语句中可使用xyz.name等直接访问 */ 初始化结构体变量:   1.struct structintcll abc={.....};   2.在定义后结构体}后的变量名中...
阅读全文
2012-09-03 19:25 工业·编程 ⁄ 共 832字 暂无评论
    前几天给系统写一个新功能,被初始化问题搞毛了:一个结构体里包含枚举类型的变量,结果由于没有初始化,搞了一堆随机数……。这个结构体是作为输入参数放在查询函数里的,结果自然查不到。最悲剧的是,在我的Windows平台可以成功查到,Linux平台有一定几率能查到……     如果一个变量没有进行初始化,那么使用它的行为是未定义的行为,这种行为有时正确有时错误,这就是我写的程序结果不确定的...
阅读全文
    有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a. 常量型成员变量,如:const int i; b. 引用型成员变量 如:int &i; c. 静态成员变量 .如:static int i; d. 整型静态常量成员变量 如:static const int i; e. 非整型静态常量成员变量 如:static const double i;     对于常量型成员变量和引用型成员变量的初...
阅读全文
2012-09-03 19:19 工业·编程 ⁄ 共 2676字 暂无评论
1) 类成员初始化列表的顺序是很重要的 #include <iostream> using namespace std;   class MemberInitializationList { private:          int i;          int j; public:          MemberInitializationList(int val) : j(val), i(j)       &...
阅读全文
本文只作为个人防止忘记,作为基础资料来查阅所用。 一、变量类型 externel和internal简介: internel用于描述定义在函数内部的函数变元和变量。外部变量在函数外部定义,故可以在很多函数中使用。由于C语言不允许在一个函数中定义其他函数,因此函数本身是外部的。缺省情况下,外部变量和函数具有如下性质:所有通过名字对外部变量和函数的引用都是引用同一个对象(即外部链接)。 由于外部变量是可以全局访问的,这就为在函数...
阅读全文
2012-09-03 03:47 工业·编程 ⁄ 共 3794字 暂无评论
1.CRuntimeClass结构   继承自CObject的类都有一个与它相关的CRuntimeClass结构,用来在运行时获得对象以及其基类的信息。   要使用CRuntimeClass结构,必需借助于RUNTIME_CLASS()宏和其他有关运行时类型识别的宏。 2.CObject   CObject类的作用:   a.对象诊断:MFC提供了两种对象的诊断机制,一种是利用成员含数AssertValid进行对象有效性检查,这样可以使类在继续运行以前对自已进行正确性检查...
阅读全文