c++ - push_back vector的Iterator时不使用构造函数是否安全向量?
问题描述
首先,两者都是没有错误的代码。
1.
std::vector<HttpConfigLocation> m_postLocation;
std::vector<HttpConfigLocation> location_block = this->m_server_block.get_m_location_block();
std::vector<HttpConfigLocation>::const_iterator location_iter = location_block.begin();
this->m_postLocation.push_back(*location_iter);
std::vector<HttpConfigLocation> m_postLocation;
std::vector<HttpConfigLocation> location_block = this->m_server_block.get_m_location_block();
std::vector<HttpConfigLocation>::const_iterator location_iter = location_block.begin();
this->m_postLocation.push_back(HttpConfigLocation(*location_iter));
在vector的push_back的运动中,指针无法移动,所以遇到了emplace的背景。所以,我不得不用构造函数来创建它,但我有一个问题。如果我只是将迭代器设置为 push_back,那么该值是否保持安全?
解决方案
推荐阅读
- javascript - 如何在 React 中调用注入到 ReactNative 的 WebView 中的 JavaScript 代码?
- c# - 如何使用 Angular 7 保持 AngularCLIServer 在 asp.net 核心上的构建之间运行
- c# - 使用 DataContractJsonSerializer 反序列化 json 时没有得到结果
- amazon-web-services - AWS 服务到代理(非重定向)HTTP 到 HTTPS?
- linux - 指向文件的硬链接 ant stat st_nlink 不匹配
- python - 使用来自八度音程的数据在 python 中进行二次规划
- python - 如何通过 gsclient 获取在远程机器上运行的脚本的输出?
- r - 如何计算R中列表中的重复元素?
- vue.js - 如何从 socket.io-client 的 url 中删除查询参数
- python - TypeError:预期的 str、字节或 os.PathLike 对象,而不是 HTTPResponse