C++隱式轉(zhuǎn)換各種發(fā)生情況
C++編程語言中的類型轉(zhuǎn)換分為兩種,一種為隱式轉(zhuǎn)換,而另一種則為顯式轉(zhuǎn)換。我們在這篇文章中將會為大家詳細(xì)介紹一下其中的C++隱式轉(zhuǎn)換的各種發(fā)生情況,希望能幫助大家從中獲得一些幫助。
C++隱式轉(zhuǎn)換發(fā)生在四種情況下
* 在混合類型的算術(shù)表達(dá)式中
- int ival = 3;
- double dval = 3.1415
- ival + dval; //ival 被提升為double 類型:3.0
* 用一種類型的表達(dá)式賦值
- int *pi = NULL; // NULL(0)被轉(zhuǎn)換成了int* 類型的空指針值
* 用一個表達(dá)式傳遞給一個函數(shù)調(diào)用
- extern double sqrt(double);
- sqrt(2); //2被提升為double類型: 2.0
* 從一個函數(shù)返回一個表達(dá)式
- double difference(int ival1, int ival2)
- {
- return ival1 - ival2; //返回值被提升為double 類型.
- }
C++內(nèi)建類型(char,int,short,double etc.)對像之間默認(rèn)含有隱式轉(zhuǎn)換
C++用戶定義類對象之間可以含有C++隱式轉(zhuǎn)換.
- void dosomething(A aObject);
- class A {
- public:
- A(int x = 0);
- }
- dosomething(20); // Ok 隱式轉(zhuǎn)換
以上就是對C++隱式轉(zhuǎn)換的相關(guān)介紹。
【編輯推薦】