你能把一个向量<int64>投射到一个向量<uint8>吗
Can you cast a vector<int64> to a vector<uint8>
在C++中,将int64_t
向量转换为uint8_t
的正确方法是什么?
我知道我可以这样做:
std::vector<int64_t> int64Vec;
std::vector<uint8_t> uint8Vec(int64Vec.begin(), int64Vec.end());
但我认为创建了一个不必要的副本。是否可以转换矢量?
原因是uint8vec
被传递给一个需要uint8_t
向量的函数。
是否可以转换向量?
不。
原因是uint8vec被传递给一个需要uint8_t向量的函数。
应该修复的是该功能。如果函数接受迭代器(当取消引用时产生可以转换为uint8_t
的类型(,则不会有问题:
template <typename IT>
void function( IT begin, IT end);
也许为类型添加健全性检查IT
以获取可读的错误消息,以防IT
不取消引用可以转换为uint8_t
的类型。
相关文章:
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 为什么一个向量上的多线程操作很慢
- 将一个向量插入另一个向量的某个位置
- 将指向给定子类的指针从一个向量复制到另一个向量
- C++ STD 函数运算符:有没有一种方法可以通过函数将一个向量映射到另一个向量上?
- 将向量之间的数字放在另一个向量之间<vector>>如果两个数字的差值为 1
- 如何在不复制的情况下将一个向量移动到另一个向量中
- 使用 std::transform 将向量向量 (a) 添加到另一个向量向量 (b)
- 如何按另一个向量的方向调整一个向量?
- 将字符向量复制到另一个向量
- 制作一对共享指针并推送一个向量
- 你能把一个向量<int64>投射到一个向量<uint8>吗
- 大家好,当一个类有一个向量作为它的数据成员时,为什么它的大小总是24?
- 为什么我们需要在优先级队列声明中添加一个向量作为参数?
- 如何将所有指针从一个向量移动到另一个向量?
- 将一个向量映射到不同的对,即使向量映射到每对时是不同的?
- 生成一个类Name_class并将两种数据类型存储在一个向量中
- 使用步骤c++构建一个向量
- 如何从另一个向量中的另一个第一元素减去向量中的第一元素
- 将一个向量对放在一个无序映射与一个映射中