我正在使用一个外部库,它在某些时候给了我一个指向整数数组和大小的原始指针。
现在我想使用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, …