相关疑难解决方法(0)

使用 std::vector 作为原始内存的视图

我正在使用一个外部库,它在某些时候给了我一个指向整数数组和大小的原始指针。

现在我想使用std::vector来访问和修改这些值,而不是使用原始指针访问它们。

这是一个解释这一点的人为示例:

size_t size = 0;
int * data = get_data_from_library(size);   // raw data from library {5,3,2,1,4}, size gets filled in

std::vector<int> v = ????;                  // pseudo vector to be used to access the raw data

std::sort(v.begin(), v.end());              // sort raw data in place

for (int i = 0; i < 5; i++)
{
  std::cout << data[i] << "\n";             // display sorted raw data 
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

原因是我需要<algorithm>在该数据上应用算法(排序、交换元素等)。

在另一方面改变这种载体的大小将永远不会改变,因此push_back, …

c++ vector stdvector c++11

86
推荐指数
8
解决办法
1万
查看次数

标签 统计

c++ ×1

c++11 ×1

stdvector ×1

vector ×1