c++变量初始化规则

原创 2016年08月29日 21:42:45
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <assert.h>
#include <iostream>
using namespace std;
#define num 10000
class BClass
{
public:
	BClass() : i(1), ci(2), ri(i){} // 对于常量型成员变量和引用型成员变量,必须通过参数化列表的方式进行初始化
	//普通成员变量也可以放在函数体里,但是本质其实已不是初始化,而是一种普通的运算操作-->赋值运算,效率也低
private:
	int i;                                  // 普通成员变量
	const int ci;                           // 常量成员变量
	int &ri;                                // 引用成员变量
	static int si;                          // 静态成员变量
	static int si2;                 // error: 只有静态常量成员变量,才可以这样初始化
	static const int csi;                   // 静态常量成员变量
	static const int csi2 = 100;            // 静态常量成员变量的初始化(Integral type)    (1)
	static const double csd;                // 静态常量成员变量(non-Integral type)
	//static const double csd2 = 99.9;      // error: 只有静态常量整型数据成员才可以在类中初始化
	static const double csd2;
};

//注意下面三行:不能再带有static
int BClass::si = 0; // 静态成员变量的初始化(Integral type)
const int BClass::csi = 2; // 静态常量成员变量的初始化(Integral type)
const double BClass::csd = 99.9; // 静态常量成员变量的初始化(non-Integral type)

// 在初始化(1)中的csi2时,根据著名大师Stanley B.Lippman的说法下面这行是必须的。
// 但在VC2003中如果有下面一行将会产生错误,而在VC2005中,下面这行则可有可无,这个和编译器有关。
//const int BClass::csi2=100;
int global; //初始化为0
char ch;    //初始化为空字符
int a[5];   //初始化为全零数组
char ch1[5];  //初始化为NULL数组
int main()
{
	BClass b;
	cout << ch << endl;
	cout << sizeof(ch1) << endl;
	cout << sizeof(ch) << endl;
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++变量初始化规则

当我们定义一个没有初始化式的变量时,系统有时候会帮我们初始化变量,有时候又不会帮我们初始化变量。这主要取决于三点:(1)变量的类型;(2)变量的位置;(3)特殊的关键字。 1、  内置类型变量的初始化...

C++ 初始化形式、变量初始化规则、类构造函数的初始化列表

类构造函数的初始化列表,举例 一个对象的构造分两部分,首先是分配空间,然后初始化。 只要有对象生成,不管是以什么形式生成,都会调用构造函数进行初始化。 然后下面有个例子,在蓝色区域Big类的复制构造函...

C++变量命名规则

  • 2013年08月30日 13:18
  • 28KB
  • 下载

c++ 变量命名规则

  • 2010年04月26日 22:38
  • 134KB
  • 下载

C/C++变量命名规则 个人习惯总结

转自:点击打开链接 C_C++变量命名规则 变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:   1、 变量名只能是字母(A...
  • rqf520
  • rqf520
  • 2017年03月30日 09:33
  • 150

C++变量名规则

  • 2014年04月04日 17:17
  • 43KB
  • 下载

C++变量命名手册(一般规则)

  • 2009年03月05日 10:07
  • 327KB
  • 下载

c++ public, protected, private成员变量,成员函数继承和访问规则实例代码

Base.h #ifndef _BASE_H_ #define _BASE_H_ namespace cplusplustest{ class Base { pub...

C_C++变量命名规则

  • 2014年11月17日 11:04
  • 20KB
  • 下载

C++词法规则之变量 常量 语句 注释

常量 广义上来说:c++有两种数据类型,常量和变量。   常量是在定义后它在程序运行中其值不能被改变的量。C++中可以用#define 、const 这两种方法定义常量。 例如:#define PRI...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++变量初始化规则
举报原因:
原因补充:

(最多只允许输入30个字)