gpt4 book ai didi

c++ - 如何让 vector 数据指向数组

转载 作者:行者123 更新时间:2023-11-28 00:55:57 25 4
gpt4 key购买 nike

我正在构建一个 C++ 类,它包装了一个用于数据库访问的 C 风格 API。它是分层的,其中每条调查线都包含许多数据通道。每个 channel 都作为许多点的数组存储和传递。我想在我的类里面使用 vector ,但 api 给了我一个指向内存中数组的指针,然后手动将数据复制到我的 vector 中,然后在处理后再次输出是没有意义的。

是否有另一个类或 vector 的后代能够接受指向数据的指针?我曾短暂地考虑过编写自己的 vector 类,但我是 C++ 菜鸟,在看到 vector 模板后我被吓跑了。

最佳答案

将我的评论放在“回答”表格中......

由于复制数组不是选项,vector 可能不是您要查找的内容。如果您只想使用标准算法,您可以只使用原始数组指针作为参数,因为它们也是迭代器,例如:

#include <algorithm>
#include <iostream>
#include <iterator>

int main()
{
int a[] = { 2, -1, 7, 6 };

int * const begin = a;
int * const end = a + sizeof(a) / sizeof(a[0]);

std::sort(begin, end);
std::copy(begin, end, std::ostream_iterator<int>(std::cout, "\n"));
}

结果如下:

$ g++ foo.cpp ; ./a.out 
-1
2
6
7

关于c++ - 如何让 vector 数据指向数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11215225/

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