在 C++ 中,类型推导主要通过 auto
关键字和decltype关键字实现。使用这些关键字可以简化代码,提高代码的可读性和可维护性。
auto
关键字auto
关键字可以让编译器自动推导变量的类型。这样可以避免显式指定变量类型,使代码更简洁。例如:
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用 auto 关键字自动推导 vec 的类型为 std::vector<int>
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
decltype
关键字decltype
关键字用于推导表达式的类型。它可以与 auto
关键字结合使用,或者单独使用。例如:
int a = 1;
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用 decltype 关键字推导 a 的类型为 int
decltype(a) b = 2;
// 使用 decltype(vec) 关键字推导 vec 的类型为 std::vector<int>
for (decltype(vec.begin()) it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
通过使用 auto
和 decltype
关键字,可以简化代码,提高代码的可读性和可维护性。