C++深入理解(2)------新變量的認識

    C++11增加了兩個新的變量用來處理字符串,分別是char_16和char_32,兩者都是無符號的字符型,但是在賦值的時候必須使用特殊的表示,char_16是用u'c'中的u做標識,而char_32使用U作爲標識。

    const的修飾變量的一般約定:使用const定義的變量,如const int Month=20;其中的Month爲了加以區分,一般都是使用手寫大寫字母,或者以k打頭,例如kmonth。

    使用float時一定要注意,它的有效位(就是出現第一個非0數字後的位數)最長只有6位,其他的位數就會被省去,如下面的代碼

#include <iostream>

using namespace std;

int main()
{
	float a = 62.48684f;
	float b = 61884842.48684f;
	float c = 612.48f;
	float d = b * 10;


	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl;
	cout << "d=" << d << endl;


	cin.get();
	return 0;
}


    輸出的值可能並非預料的那樣:


    下面將寫出double等詳細的有效長度和數值範圍

    

類型有效位長度佔用字節長度數據最大最小範圍
float624-37e10~~~38e10
double1553-307e10~~308e10
long double1864-4931e10~4932e10

關於複雜變量

    如結構體等的複雜變量,這裏只介紹一種容易被大家忽略的事情:

    struct strA 

    {int a,char b,double c}; 

    其中的strA相當於一種新的變量類型,在使用的時候可以strA  tmpstrA;  strA tmpstrB;等聲明多個變量,但是有一種用法,如下面:

    struct 

    {int a,char b,double c} strA;

    這種省略了變量類型,而strA則成爲新生成的變量名,也就是說strA本身已經是一個變量了,不能再使用strA tmpstrA這種形式。這樣省略變量類型,就會導致只能有一個這種類型的結構體。還有一種其他用法,順便再strA後邊增加*pstrA,表示這個沒有變量類型的結構體的指針爲pstrA。

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章