1 将std::vector中的数值拷贝到数组中
在程序实际运行过程中,为了防止数组越界经常使用stl 容器,但是在做数据交换时经常需要传递数据流的指针,这个时候就需要将stl 容器中的数据拷贝到数组中,当然,只针对int float double这种常规类型的数据。
#include <iostream>
#include <vector>
#include <algorithm>
template<typename T>
size_t copy(std::vector<T> const& src, T* dest, size_t N)
{
size_t count = std::min(N, src.size());
std::copy(src.begin(), src.begin() + count, dest);
return count;
}
int main()
{
std::vector<int> testVec = {1,2,3,4,5 };
int* indexArray = new int[testVec.size()];
copy(testVec, indexArray, testVec.size());
for (int i = 0; i < 5; ++i)
{
std::cout << indexArray[i] << std::endl;
}
delete[] indexArray;
return 0;
}
运行结果:
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – 将std::vector中的数值拷贝到数组中
原文链接:https://www.stubbornhuang.com/1899/
发布于:2022年01月10日 13:45:30
修改于:2023年06月26日 20:48:58
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52