如何从 std::vector 构造一个 Platform::Array
How to construct a Platform::Array from a std::vector
我以为它是这样工作的
std::vector<char> array;
Platform::Array<char>^ data = ref new Platform::Array<char>(array, array.size());
但说"没有构造函数的实例与参数列表匹配"
你应该发送指向 Platform::Array 构造函数的指针,std::vector
是类,而不是数组。
Platform::Array<char>^ data = ref new Platform::Array<char>(array.data(),
array.size());
如果启用了 C++11,或者
Platform::Array<char>^ data = ref new Platform::Array<char>(&array[0],
array.size());
如果不是(访问空向量中的第一个元素是 UB,所以我不知道我们如何在 C++11 之前访问底层数组,当 vector 为空时)。
相关文章:
- 将 std::array 移动到另一个 std::array
- 如何在C++中传递一个大小未知的 std::array?
- 用一个额外的元素扩展 std::array 的每个 std::元组
- 是否为每个不同大小的 std::array 编译了一个全新的类?
- 我有一个关于将 std::array 传递到函数中的问题
- 哈希一个std :: array在std :: unordered_map中使用
- 如何知道您输入到std::array中的最后一个元素是什么?
- 一个提升或 stl api,用于以 string=>array-index 的形式对字符串数组进行哈希处理
- 有人知道一个模仿帕斯卡"range array"的类吗?
- 将一个std::数组拆分为一个较小大小的std::array元组
- 向量是否比std::array多使用一个解引用来访问元素
- DsGetDomainControllerInfo 返回一个"Pointer to a pointer variable that receives an array" ?我不明白
- 我们不能从initializer_list创建一个 std::array,但我们可以使用带有可变参数的辅助函数来创建它
- 如何从 std::vector 构造一个 Platform::Array
- 是否可以定义一个到std::array的隐式转换运算符
- 将标量+std::array+std::tuple转换为一个大元组
- 在打字稿中,如何编写一个函数来处理任意维度数组(例如:<number>Array,Array<Array<number>>,...)?
- 编写一个函数count(number, array, length),计算number在array中出现的次数
- 用c++ 11的initializer_list实现一个类似std::array的容器
- std::array和std::vector的区别是什么?什么时候你用一个而不是另一个