C++11 引入了类型别名(type aliases),它允许你使用新的名字来表示已存在的类型。这为代码提供了更好的可读性、易维护性和灵活性。类型别名主要通过以下方式增强代码的灵活性:
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;
总之,类型别名通过提供更简洁的语法、支持模板别名、改进代码组织和提高代码可读性,增强了 C++ 代码的灵活性。