close

這兩個keyword的作用很類似,一個是自訂義型態的"名稱",

一個是把"返回型態"拿來用,下面來看簡單的範例,

在使用循序容器vector時,有一個迭代器叫iterator,

宣告,std::vector<int>::iterator iter,

超長的,可是用typedef可以簡化成iter,

是不是很方便,再來是decltype,

下方的案例我是用vector.size(),雖說也是可以用int,

但他的真正型態是vector::size_type(),是一個無號數。

#include <iostream>
#include<vector>


int main(){

    typedef int INT; //自訂義型態

    INT a = 45;

    std::vector<int> v;

    typedef std::vector<int>::iterator iter ;

    iter beg = v.begin();
    

    decltype(v.size()) b = 46; //std::vector<int>::size_type

    return 0; 
}

 

上述兩個keyword,我真的很少用,但也是需要知道一下,

避免看別人的程式結果看不懂,

不過比起這兩個,較為常用的是auto,是C++11的東西,

很方便沒錯,但還是少用吧,因為你會對他的型態沒感覺,

當然偶爾偷懶一下是沒問題的。 ( ͡° ͜ʖ ͡°)

 

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()