【发布时间】:2015-05-05 09:37:27
【问题描述】:
有没有办法(在 C++ 11 中)实现以下方法:
template <typename T>
std::vector<T> makeTypedVector(void* array, int n)
{
//construct an std::vector of type T from the given array
}
我会分享我尝试过的方法,但我不知道如何实现它:)
编辑:
数组是否可以使用相同的方法而不是 std::vector?
编辑2:
用法: 我们正在存储 (void* array,Type) 的元组。我需要能够比较相同数据类型的两个元素。因此,我想将 void* 数组转换为类型化向量,以便了解如何在两个元素之间进行比较
【问题讨论】:
-
为什么不能使用初始化列表,例如
vector<int> v = { 1, 4, }?编辑:你能展示一些示例用途吗?想象一下有人为你编写了完美的 makeTypedVector() 函数;你会用它做什么? -
@DavidSeiler 查看编辑:)