C ++中的类型推断(自动和decltype)
在本教程中,我们将讨论一个程序来理解C++中的类型干扰(自动和decltype)。
如果使用auto关键字,则变量的类型是根据其初始值设定项的类型定义的。进一步使用decltype,它使您可以从被调用的元素中提取变量的类型。
自动类型
示例
#include <bits/stdc++.h> using namespace std; int main(){ auto x = 4; auto y = 3.37; auto ptr = &x; cout << typeid(x).name() << endl << typeid(y).name() << endl << typeid(ptr).name() << endl; return 0; }
输出结果
i d Pi
定义类型
示例
#include <bits/stdc++.h> using namespace std; int fun1() { return 10; } char fun2() { return 'g'; } int main(){ decltype(fun1()) x; decltype(fun2()) y; cout << typeid(x).name() << endl; cout << typeid(y).name() << endl; return 0; }
输出结果
i c