首页 > 解决方案 > 可以投个矢量图吗到一个向量

问题描述

int64_t在 C++ 中,将向量转换为to的正确方法是uint8_t什么?

我知道我可以这样做:

std::vector<int64_t> int64Vec;
std::vector<uint8_t> uint8Vec(int64Vec.begin(), int64Vec.end());

但我认为创建了一个不必要的副本。是否可以投射矢量?

原因是将uint8vec其传递给需要uint8_t向量的函数。

标签: c++

解决方案


是否可以投射矢量?

不。

原因是将 uint8vec 传递给需要 uint8_t 向量的函数。

应该修复的是该功能。如果该函数将接受迭代器(在取消引用时产生可以转换为的类型uint8_t),则没有问题:

template <typename IT>
void function( IT begin, IT end);

也许添加类型的健全性检查IT以获得可读的错误消息,以防万一IT没有取消引用可以转换为uint8_t.


推荐阅读