2012-09-02 19:05
⁄ 工业·编程
⁄ 共 228字
在不进行显示初始化的情况下,外部变量和静态变量都将被初始化为0,而自动变量和寄存器变量的初值则没有定义(即初值为无用的信息)。
对于外部变量与静态变量来说,初始化表达式必须是常量表达式,且只初始化一次(从概念上讲是在程序开始执行前进行初始化)。
对于自动变量与寄存器变量,则在每次进入函数或程序时都将被初始化。
对于自...
变量初始化阅读全文
2012-09-02 19:02
⁄ 工业·编程
⁄ 共 1077字
关于这个问题是引起来源于一则面试问题:引用型成员变量如何初始化?回答的不是很确定,于是对这个问题研究一下。
1、普通的变量:一般不考虑啥效率的情况下 可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。
class CA { public: int data; …… public: CA(); ……
};
CA::CA():data(0)//……#1……初始化列表方式 { //data = 0;//……#1……赋值方式 };
2、static 静态变量...
变量初始化阅读全文
2012-09-02 18:27
⁄ 工业·编程
⁄ 共 662字
不象C#,Java 等托管语言,在 C++ 中对变量的初始化问题很重要。比如,如果使用一个指针,没有初始化很容易成为 野指针 。例如:char *str; // 指针 str 的指向不为 NULL ,而是不确定的空间,很危险。
下面有四行代码,看看有什么区别。(T 代表某个类 )
T t;
T t();
T t(u);
T t = u;
在这里,想要说明三种不同的初始化之间的差别,即: 默认初始化 , 直接初始化 和 拷贝初始化 。
T t;
这个是默认初始化。声明了一个变...
变量初始化阅读全文
2012-09-01 07:01
⁄ 工业·编程
⁄ 共 1635字
C++当中常常需要一个全局唯一的对象实例,这时候,我们就会想到单件模式。如何实现这一模式?全局变量当然是一个简单可行的方法,然而,这太丑陋。嗯,其实,丑陋倒也罢了,最严重的是它将引诱程序员滥用全局变量,这将导致维护的灾难。
既然全局变量是可能有害的,那么,我们我们把它隐藏一下,放到某个类当中去,作为类的静态数据成员。这看上去不错,我也这么认为。当我们只是...
c++, 变量初始化阅读全文