设为首页 加入收藏

TOP

C++基础学习(一)(三)
2019-09-30 16:50:22 】 浏览:133
Tags:基础 学习
是 vector<int> v1 = {1,2,3},那么通过迭代器迭代时,每次的迭代器是 1,2,3 三个数字的地址吗(因为我们可以通过 *iter 来取得数值 )?答案是不是的。

 1 #include<iostream>
 2 #include<vector>
 3 #include<typeinfo>
 4 
 5 int main() {
 6     std::vector<int> v = { 1 ,2,4 };
 7     for (auto& i : v)  
 8         std::cout << typeid(i).name() << &i <<std::endl;
 9     for (auto k = v.cbegin(); k != v.cend(); ++k)  // cbegin()得到const_iterator。begin()得到iterator。如果只进行读操作可用前者
10         std::cout << typeid(k).name() <<std::endl;
11     return 0;
12 }

  我们可以比较 range-based-for 和 iterator-for 的输出类型,其中第八行 &i 输出了 v 中的元素的地址。

  那迭代器到底是啥?此处有解释。

  range based for loop vs regular iterator for loop

  

  

 

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇树-二叉树的基本概念 下一篇严蔚敏数据结构源码及习题解析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目