在 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
關鍵字,可以簡化代碼,提高代碼的可讀性和可維護性。