如何更改下面的代码以使用 unique_ptr 而不是传统指针?
// vector::data
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector (5);
int* p = myvector.data();
*p = 10;
++p;
*p = 20;
p[2] = 100;
std::cout << "myvector contains:";
for (unsigned i=0; i<myvector.size(); ++i)
std::cout << ' ' << myvector[i];
std::cout << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的代码,但我遇到了 E0349 没有运算符“++”与这些操作数匹配
unique_ptr<int> p {myvector.data()};
*p = 10;
++p; // <<< ERROR HERE >>>
Run Code Online (Sandbox Code Playgroud)