iterator的问题,请教下.

takile 2007-01-24 04:12:26
在 C++ Primer 的第四版里看到.

vector<int>::iterator mid=vi.begin() + vi.size()/2;

我自己在Visual Stdio里试了下.cout<<*mid<<endl;
打印出来的都是0;
只是打印出vi.begin(),而没有加上vi.size()/2的值.
我就改成
vector<int>::iterator mid=vi.size()/2;
这样就出错了.说不能转换常数int到指针int,请问怎样解决呢?
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
takile 2007-01-24
  • 打赏
  • 举报
回复
哦哦..原来我没有给他值.
我是这样写的.
vector<int> nums(10);
所以全部值都是0,呵呵.我粗心了.
todototry 2007-01-24
  • 打赏
  • 举报
回复
我自己在Visual Stdio里试了下.cout<<*mid<<endl;
打印出来的都是0;
=======================
说明
中间元素值为0的
roydux 2007-01-24
  • 打赏
  • 举报
回复
vector<int>::iterator mid=vi.size()/2;

iterator = type_t?
taodm 2007-01-24
  • 打赏
  • 举报
回复
贴代码
ouyh12345 2007-01-24
  • 打赏
  • 举报
回复
vi.begin()
返回的是一个iterator
是一个指针。
指针加一个整数,表示移动指针

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧