首页 > 代码库 > 2-3. Using Type Deduction

2-3. Using Type Deduction

Type Deduction 发生在编译时期

可以对一般类型,自定义类型进行类型自推导

下面有两个例子:

1. Using auto with a class

 1 #include <iostream>
 2 #include <typeinfo>
 3 
 4 using namespace std;
 5 
 6 class MyClass
 7 {
 8 };
 9 
10 int main()
11 {
12     auto variable = MyClass();
13     cout << "Type of variable: " << typeid(variable).name() << endl;
14     return 0;
15 }

技术分享

2.Using auto with Uniform Initialization

#include <iostream>
#include <typeinfo>
using namespace std;

class MyClass
{
};

int main()
{
    auto variable{ 1 };
    cout << "Type of variable: " << typeid(variable).name() << endl;
    auto variable2{ MyClass{} };
    cout << "Type of variable: " << typeid(variable2).name() << endl;
    return 0;
}

技术分享

use auto for local variables as much as possible. 在局部变量的时候使用auto

 

2-3. Using Type Deduction