根據表示式推斷型別的關鍵字:decltype
阿新 • • 發佈:2021-01-31
技術標籤:# 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; }