gpt4 book ai didi

C++ vector 变化类型

转载 作者:行者123 更新时间:2023-11-27 22:51:18 24 4
gpt4 key购买 nike

我想知道下面是否是 vector 类型的有效转换:

vector<UINT16> u;
vector<UINT8> v(u.begin(), u.end());

我发现此链接相关: C++ convert vector<int> to vector<double>

但是,需要确认上面的转换是否有效。

最佳答案

std::vector 范围构造函数特别是 says :

(3) range constructor Constructs a container with as many elements as the range [first,last), with each element constructed from its corresponding element in that range, in the same order.

这意味着如果您的 UINT16 vector u 有 10 个元素,v 也将有 10 个元素。不关心它可能导致的任何溢出。如果“有效”是指它会神奇地将 uint16 值拆分为 2 个 uint8 并将它们添加到 v,那么不,事实并非如此。

关于C++ vector 变化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37038012/

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