我正在使用https://github.com/nlohmann/json中的C ++ json库。
我写的代码大致类似于:
// User is a class
json userJson = json::parse(<...some json string...>);
vector<User> user = userJson; // will be converted to vector<User>
我(个人)不认为直接使用vector<User>
...
我应该将其转换为vector<shared_ptr<User>>
(使用下面的代码)吗?
vector<shared_ptr<User>> userPtr;
userPtr.reserve(user.size());
transform(user.begin(), user.end(), back_inserter(userPtr), [](User& item) { return make_shared<User>(std::move(item)); });
如果两者都没有,推荐的方式是什么? (用于处理C ++中的用户/学生/人员等列表)