gpt4 book ai didi

c++ - 为模板化类创建类型别名

转载 作者:可可西里 更新时间:2023-11-01 16:26:33 27 4
gpt4 key购买 nike

而不是使用

std::vector<Object> ObjectArray;

我愿意这样

MyArray<Object> ObjectArray;

保留所有 std::vector 方法。 (如 push_back()、reserve() 等)

但是,使用

typedef std::vector MyArray;

不会工作。我应该改用模板吗?怎么办?

最佳答案

您真正想要的是一个模板化的 typedef。不幸的是,当前版本的 C++ 不支持它们,但它们将添加到 C++0x 中。

目前,这里有一个可能的解决方法:

template<class T> struct My {
typedef std::vector<T> Array;
};

My<Object>::Array ObjectArray

这是否比直接使用 std::vector 更好,我将留给您来决定。

关于c++ - 为模板化类创建类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com