C++11 引入了類型別名(type aliases),它允許你使用新的名字來表示已存在的類型。這為代碼提供了更好的可讀性、易維護(hù)性和靈活性。類型別名主要通過以下方式增強(qiáng)代碼的靈活性:
using FunctionPtr = int (*)(int, int);
using ArrayInt = int[5];
using MyPair = std::pair<int, std::string>;
template <typename T, typename U>
using MyContainer = std::map<T, U>;
MyContainer<int, std::string> myIntStringMap;
namespace MyTypes {
using Integer = int;
using String = std::string;
using Point = std::pair<Integer, Integer>;
}
struct ComplexStruct {
int x;
int y;
};
using MyPoint = ComplexStruct;
總之,類型別名通過提供更簡潔的語法、支持模板別名、改進(jìn)代碼組織和提高代碼可讀性,增強(qiáng)了 C++ 代碼的靈活性。