c++ - 向量的初始化
问题描述
当我执行以下语句时:
vector <int> v;
v 的值究竟是多少?
它只是一个指向内存块开头的指针吗?它的值会是 NULL 吗?
一些点可能与另一个比这个更复杂的问题重复,并且较少关注1)调用类的默认构造函数vector
和2)我认为是指向的数组的初始化的比较int
。
解决方案
您的语法将调用不带参数的构造函数,也称为默认构造函数。根据std::vector 构造函数文档,您可以看到它将创建一个空向量。
它指向的指针无关紧要,因为您不应该在容器为空时取消引用它的值。请注意,如果您想存储内部指针的值,例如std::vector::data(),它可能会在您向向量添加元素时随时更改(嗯,从技术上讲,您可以预测指针何时会改变,但最好的做法是让指针总是改变)。
推荐阅读
- google-apps-script - 如何使用谷歌脚本将每个谷歌工作表导出为自己的文档?
- java - Apache Camel 与 Spring Boot 消息组构建
- python - 如何迭代和计算熊猫数据框 pivot_table 中列的平均值
- python - Python矢量化具有不同维度的2d和3d数组连接
- ios - Flutter iOS App Rejected due to UIWebView 不再被接受
- git - 在特定行号之前添加/删除的行数
- python - 通过 AWS Lightsail 将 Python 包下载到 Bitnami
- javascript - IE 11 切换隐藏和显示 jquery 问题
- linux - 登录到不同用户目录中的 MLflow 服务器
- ios - AlertController,更改消息并在一段时间后关闭