C++ 是否将现有数据类型替换为自定义数据类型?
我有一个类C++ 是否将现有数据类型替换为自定义数据类型?,c++,vector,data-structures,C++,Vector,Data Structures,我有一个类\u vector,我想在代码的所有实例中用std::vector替换它,而不需要手动更改它的文本。在某种程度上,我想用它的派生类的自定义函数替换std::vector的功能 我的自定义类是一个单模板参数类,它继承自std::vector,在那里我实现了额外的操作符[]功能。我想用自定义的替换代码中的所有std::vectors 我试着去做 template <class T> using vector = _vector<T>; 我还尝试将std::vect
\u vector
,我想在代码的所有实例中用std::vector
替换它,而不需要手动更改它的文本。在某种程度上,我想用它的派生类的自定义函数替换std::vector
的功能
我的自定义类是一个单模板参数类,它继承自std::vector
,在那里我实现了额外的操作符[]
功能。我想用自定义的替换代码中的所有std::vector
s
我试着去做
template <class T>
using vector = _vector<T>;
我还尝试将std::vector
定义为\u vector
,使用
#define vector _vector
但是它改变了\u vector
中std::vector
的所有实现,即使我把这一行放在类定义之后,因为它是一个预处理器指令,在编译之前运行
我不知道还有什么要做,如果有人有答案,请分享。谢谢。您可能已经使用了
名称空间std代码>在全局范围内。删除它并在自己的命名空间中重新声明向量,这样名称就不会冲突。还保留以下划线开头的全局命名空间中的标识。@VTT这会影响什么?请停止尝试这样做。不要这样做。当std::vector
写得很清楚时,不要让代码“神奇地”使用其他类型。未来的维护者会讨厌你——你可能就是其中之一。只需将代码更改为使用“myvector”或其他什么。不要将其称为\u vector
,因为:我使用_vector是为了更容易阅读,在代码本身中它有一个有效的名称,我不与任何人合作,所以这不是问题。从std::vector
派生是一个糟糕的想法。
#define vector _vector