《C++Primer》筆記 第二章2.5處理類型

1.類型別名
兩種方法定義類型別名:

  • typedef定義
    常用typedef 類型 類型別名;
    例如
    typedef double wages;
    typedef float* salary;//salary是 float*類型的指針
  • using定義
    在c++11新標準中可以使用using來定義:
using wages = double;
using salary = float*;//salary 是float*類型的指針

2.auto 類型
auto類型即爲自動類型,當不能確定當前變量的類型的時候,用auto可以自動的有編譯器來確定類型;

double var1=0.333;
double var2=0.444;
auto var=var1+var2;//auto 自動確定當前變量的類型;

需要注意的是,一個類型的聲明中以允許一種類型存在,比如

int a=0,b=2011;
const int constant=1024;
//所以auto也該如此
auto a=0,b=3.14;//這樣是錯誤的;
const auto c=constant;//這樣是正確的;

auto的特點:
自動忽略頂層const,保留底層const;
講解頂層與底層const:

http://blog.csdn.net/wunghao8/article/details/39367891
http://blog.csdn.net/kturing/article/details/45008359

如果a是頂層的const,比如

const int a =0;//a位頂層const
auto b=a;//b只是一個int類型,忽略頂層const
const int* p=&x;
auto q=p;//q是一個const int* 類型的指針,指針本身改變,指針對象不能改變
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章