【发布时间】:2020-03-11 09:52:24
【问题描述】:
我想重命名 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;
遗憾的是,这种方法不适用于成员变量。 我可以给成员起别名吗?怎么样?
【问题讨论】:
-
所以你可以使用
PushBack(v, x),但不能使用v.PushBack(x)。 -
我建议您硬着头皮使用标准类型及其现有命名约定。它使任何已经精通 C++ 的程序员都更容易理解您的代码。
-
@L.F 很抱歉,但据我所知,标题写得正确,函数可以是 C++ 中类的成员。 'push_back' 是一个函数,是模板类 std::vector 的一部分,因此是该类的成员。
-
@RobertoP.Romero 您的标题没有问题(除了成员函数在技术上不是模板而是模板化实体)。我正在回答“我可以给成员起别名”的问题。
-
@L.F.够公平
标签: c++ stl naming-conventions alias