是的,C++類型別名可以用于復雜類型。在C++11及更高版本中,可以使用using
關鍵字來定義類型別名,這允許你為現有的復雜類型創建一個新的名稱,從而使代碼更易于閱讀和維護。
以下是一個使用類型別名的示例:
#include <iostream>
#include <vector>
#include <map>
using VecInt = std::vector<int>;
using MapStrInt = std::map<std::string, int>;
int main() {
VecInt vec = {1, 2, 3, 4, 5};
MapStrInt my_map = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
for (const auto& elem : vec) {
std::cout << elem << " ";
}
std::cout << std::endl;
for (const auto& pair : my_map) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
在這個示例中,我們定義了兩個類型別名:VecInt
表示std::vector<int>
,MapStrInt
表示std::map<std::string, int>
。這使得我們在代碼中更簡潔地使用這些復雜類型。