数组的地址和vector数组的地址

1、对于数组来说是静态的,所以在创建数组的时候数组首元素的地址也就是数组的地址是确定的,所以在函数传参的时候将数组地址直接作为函数实参传入即可,因为会自动对该地址中的数据进行操作;

2、vector定义的是一个动态数组,在不断申请空间的过程中可能会改变动态数组的首元素地址也就是动态数组的地址,可以理解为动态数组的长度动态位置也是动态的,所以不能将其地址作为参数传入函数,因为很可能已经变了(具体没研究过STL,做题的时候发现的先记下来)。

复制代码
 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 
 5 int main() {
 6     vector<int>v;
 7     v.push_back(0);
 8     cout << &v[0] << endl;
 9     for (int i = 0; i < 100; i++)
10         v.push_back(i);
11     cout << &v[0] << endl;
12     return 0;
13 }
复制代码

运行结果:

 

posted @   PennyXia  阅读(598)  评论(0编辑  收藏  举报
编辑推荐:
· [杂谈]如何选择:Session 还是 JWT?
· 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
· JavaScript是按顺序执行的吗?聊聊JavaScript中的变量提升
· [杂谈]后台日志该怎么打印
· Pascal 架构 GPU 在 vllm下的模型推理优化
阅读排行:
· WinForm 通用权限框架,简单实用支持二次开发
· 面试官:DNS解析都整不明白,敢说你懂网络?我:嘤嘤嘤!
· 如何为在线客服系统的 Web Api 后台主程序添加 Bootstrap 启动页面
· 不错的AI项目集合
· [WPF UI] 为 AvalonDock 制作一套 Fluent UI 主题
点击右上角即可分享
微信分享提示