變量名,即變量的標識符,可以由字符,數字,以及下劃線來組成。他必須以字符或者下劃線來開頭,并且區分大小寫。
語言本身沒有對變量名做什么限制。但是為了用戶著想,他不應過長。
c++保留了一些詞用作關鍵字。關鍵字標識符不能在作為標識符在程序中使用了。
對于命名對象有很多已經普遍接受的習慣。主要考慮的因素的是程序的可讀性。
第一:對象的命名一般用小寫。
第二:標識符通常用容易記憶的名字。
第三:對于多詞構成的標識符一般在詞的中間加上下劃線。
對象的定義:
一個簡單的對象的定義由一個類型指示符后面加上一個名字構成,以分號結束。
例如: int aaaaa;
當同類型的多個標識符被定義的時候,我們可以在類型指示符后面用逗號隔開。
一個簡單的定義指定了變量的類型和標識符。他并不提供初始值。
如果一個變量是在全局域(globe scope)中定義的,那么系統會保證給他一個初始值0。如果一個變量是在一個局部域中定義的,或者通過一個new 動態分配的,那么系統不會向它提供初始值0。這些對象被稱為未初始化(uninitialized),未初始化的對象不是沒有值,而是對象的值未被定義。
因為使用未初始化的對象是個很常見的  錯誤,并且很難被發現。所以建議為每個定義的對象進行初始化。
類機制通過缺省構造函數提供了類對象的自動初始化。
例如:
int  main()
{
int val;////////未被初始化的值。
string  project;//////通過string類的缺省的構造函數進行了初始化。
}


val是一個未被初始化的局部變量。
但是project是一個已經被初始化的類對象——被string類缺省的構造函數自動初始化。
初始化一個值可以在對象定義的時候進行。
c++支持兩種形式的初始化。
第一種是使用賦值符號的現實的操作。
如:
int val=111;
string  project="ssssss";
隱式形式中,初始化值被放在括號中。
int val(111);
string project("sssssss");
在對象的定義之中,當對象的標識符在定義中出現后,對象名馬上就是可見的了。因此用對象初始化他自己是合法的,只是這樣做不是明智的。
例如:int val=val;///////合法,但是不是明智的。
另外,每種內置數據類型都支持一種特殊的構造函數。可將對象初始化為0。
/////設置val為0。設置dval為0.0。
int val =int();
double dval=double();
下列的定義中:
int()
vector <int>ival(10);
函數int()自動被應用到ival包含的10個元素上。
對象可以用任意復雜的表達式來初始化,也可以用返回值