1. 程式人生 > 其它 >根據表示式推斷型別的關鍵字:decltype

根據表示式推斷型別的關鍵字:decltype

技術標籤:# c++冷門知識

這個關鍵字可以推斷出表示式的型別,一般用的比較少。

struct
{
    int frist = 2;
    int second = 3;
}ceshi;

上面是一個匿名結構體物件,變數名是ceshi,型別不知道。如果要使用這個結構體的型別,就用到了decltype:

    decltype(ceshi)

建立一個同類型的物件並賦值返回:

struct
{
    int frist = 2;
    int second = 3;
}ceshi;

decltype(ceshi) deduce()
{
    decltype(ceshi) c;
    c.frist = 66;
    c.second = 8;
    return c;
}

#define debug qDebug()<<
int main(int argc, char *argv[])
{
    debug ceshi.frist << ceshi.second;

    auto c = deduce();
    debug c.frist << c.second;
}