在C++11中引入了auto
關(guān)鍵字,用于自動推導(dǎo)變量的類型。其語法形式為auto 變量名 = 表達式;
,其中表達式
的類型將被自動推導(dǎo)為變量名
的類型。
auto
的使用可以簡化代碼,避免重復(fù)聲明變量類型,并且可以處理復(fù)雜的類型推導(dǎo),例如使用迭代器遍歷容器中的元素或者函數(shù)返回值類型不確定的情況。
下面是一些示例代碼來演示auto
的用法:
// 使用auto進行變量類型推導(dǎo)
auto num = 10; // 推導(dǎo)為int類型
auto name = "Alice"; // 推導(dǎo)為const char*類型
auto result = 3.14 + 2; // 推導(dǎo)為double類型
// 使用auto遍歷容器中的元素
std::vector<int> numbers = {1, 2, 3, 4, 5};
for(auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
// 輸出:1 2 3 4 5
// 使用auto推導(dǎo)函數(shù)返回值類型
auto add(int a, int b) -> int {
return a + b;
}
auto divide(double a, double b) -> decltype(a / b) {
return a / b;
}
需要注意的是,auto
只能在定義變量時使用,無法用于函數(shù)參數(shù)、類的成員變量等地方。并且在使用auto
推導(dǎo)變量類型時,需要確保表達式的類型是明確的,否則編譯器將無法推導(dǎo)出正確的類型。