我想重命名或别名stl的某些部分,以便它们符合我项目的命名约定。到目前为止,重命名类型很容易
template<class Type>
using Vector = std::vector<Type>;
我试着做一些类似于别名成员的事情:
template<class Type>
using Vector::PushBack = std::vector<Type>::push_back;
// and
template<class Type>
using Vector<Type>::PushBack = std::vector<Type>::push_back;
遗憾的是,这种方法不适用于成员变量。我可以化名成员吗?怎样
您只能别名类型或类型模板。成员函数不是一种类型,因此您不能对其进行别名。但是,您可以为其创建一个代理:
template <typename T>
auto push_back(std::vector<T>& vec, T&& val)
{
return vec.push_back(std::forward<T>(val));
}
否,不能对成员变量进行别名。
Cfhttps://learn.microsoft.com/en-us/cpp/cpp/aliases-and-typedefs-cpp?view=vs-2019年:"你可以使用别名声明来声明一个名称,用作之前声明的类型的同义词">
既然可以直接调用变量,那么别名的意义何在?