Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否将现有数据类型替换为自定义数据类型?_C++_Vector_Data Structures - Fatal编程技术网

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