鱼C论坛

 找回密码
 立即注册
查看: 1526|回复: 4

[已解决]容器vector 用法

[复制链接]
发表于 2018-11-21 09:57:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
std::vector<int *> p 和  std::vector<int *> p 的区别是什么?
求大神解答一下。
最佳答案
2018-11-21 12:29:24
竟无语凝噎 发表于 2018-11-21 10:35
std::vector p 和  std::vector *p 的区别是什么?
匆忙写错了。。

问问题不能匆忙,你匆忙着向别人提问,别人匆忙着给你回答,这样好吗?

std::vector<int *> p; // vector中存储的是指针,每一个指针都指向int类型的数据
std::vector<int > *p  // 变量p是一个指针,这个指针指向vector,vector中存储的是int类型的数据

  1. #include <iostream>
  2. #include <vector>

  3. int main()
  4. {
  5.         std::vector<int *> pa;
  6.         std::vector<int> *pb;

  7.         int a = 10;
  8.         int b = 11;
  9.         int c = 12;
  10.         pa.push_back(&a);
  11.         pa.push_back(&b);
  12.         pa.push_back(&c);
  13.         for(auto i: pa)
  14.         {
  15.                 std::cout << i << "->" << *i << std::endl;
  16.         }

  17.         std::cout << "************************" << std::endl;
  18.         pb = new std::vector<int>;
  19.         pb->push_back(a);
  20.         pb->push_back(b);
  21.         pb->push_back(c);
  22.         for(auto i : *pb)
  23.         {
  24.                 std::cout << i << std::endl;
  25.         }
  26.         delete pb;
  27.         return 0;
  28. }
复制代码

  1. 00D7F778->10
  2. 00D7F76C->11
  3. 00D7F760->12
  4. ************************
  5. 10
  6. 11
  7. 12
  8. 请按任意键继续. . .
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-21 10:24:21 | 显示全部楼层
两个不是一模一样吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-21 10:35:44 | 显示全部楼层
简单的蓝猫 发表于 2018-11-21 10:24
两个不是一模一样吗

std::vector<int *> p 和  std::vector<int > *p 的区别是什么?
匆忙写错了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-21 12:29:24 | 显示全部楼层    本楼为最佳答案   
竟无语凝噎 发表于 2018-11-21 10:35
std::vector p 和  std::vector *p 的区别是什么?
匆忙写错了。。

问问题不能匆忙,你匆忙着向别人提问,别人匆忙着给你回答,这样好吗?

std::vector<int *> p; // vector中存储的是指针,每一个指针都指向int类型的数据
std::vector<int > *p  // 变量p是一个指针,这个指针指向vector,vector中存储的是int类型的数据

  1. #include <iostream>
  2. #include <vector>

  3. int main()
  4. {
  5.         std::vector<int *> pa;
  6.         std::vector<int> *pb;

  7.         int a = 10;
  8.         int b = 11;
  9.         int c = 12;
  10.         pa.push_back(&a);
  11.         pa.push_back(&b);
  12.         pa.push_back(&c);
  13.         for(auto i: pa)
  14.         {
  15.                 std::cout << i << "->" << *i << std::endl;
  16.         }

  17.         std::cout << "************************" << std::endl;
  18.         pb = new std::vector<int>;
  19.         pb->push_back(a);
  20.         pb->push_back(b);
  21.         pb->push_back(c);
  22.         for(auto i : *pb)
  23.         {
  24.                 std::cout << i << std::endl;
  25.         }
  26.         delete pb;
  27.         return 0;
  28. }
复制代码

  1. 00D7F778->10
  2. 00D7F76C->11
  3. 00D7F760->12
  4. ************************
  5. 10
  6. 11
  7. 12
  8. 请按任意键继续. . .
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-21 13:13:44 | 显示全部楼层
人造人 发表于 2018-11-21 12:29
问问题不能匆忙,你匆忙着向别人提问,别人匆忙着给你回答,这样好吗?

std::vector p; // vector中存 ...

十分感谢您的回答 ,同时也虚心接受您的意见。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-12 20:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表