现在位置: 首页 > 变量初始化
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字 评论 1 条
不象C#,Java 等托管语言,在 C++ 中对变量的初始化问题很重要。比如,如果使用一个指针,没有初始化很容易成为 野指针 。例如:char *str; // 指针 str 的指向不为 NULL ,而是不确定的空间,很危险。 下面有四行代码,看看有什么区别。(T  代表某个类 ) T t; T t(); T t(u); T t = u; 在这里,想要说明三种不同的初始化之间的差别,即: 默认初始化 , 直接初始化 和 拷贝初始化 。 T t; 这个是默认初始化。声明了一个变...
阅读全文
    C++当中常常需要一个全局唯一的对象实例,这时候,我们就会想到单件模式。如何实现这一模式?全局变量当然是一个简单可行的方法,然而,这太丑陋。嗯,其实,丑陋倒也罢了,最严重的是它将引诱程序员滥用全局变量,这将导致维护的灾难。     既然全局变量是可能有害的,那么,我们我们把它隐藏一下,放到某个类当中去,作为类的静态数据成员。这看上去不错,我也这么认为。当我们只是...
阅读全文