c++-有点害怕指针和迭代器怎么办?

问题描述

有点害怕指针和迭代器怎么办?

有点害怕指针和迭代器怎么办?有点害怕指针和迭代器怎么办?有点害怕指针和迭代器怎么办?

解决方案

看stl源代码剖析,不要只看一本书

http://blog.csdn.net/shudou/article/details/11099931

解决方案二:

用多了熟悉了以后就不会害怕了。
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的复杂的指针,具有遍历复杂数据结构的能力。

解决方案三:

多熟悉就不会怕了,你接触多了就不会怕了,到时候你就不是怕了,是激动

解决方案四:

指针使用前注意保证有效,迭代器注意失效的问题。

解决方案五:

我也害怕,但是我读了《C++从入门到转行》,现在我不怕了...

解决方案六:

指针确定是一个难点,初学者都怕,只能多用多练来体会;
迭代器,去看看练习几次就好了,没有太多变化的东西;

解决方案七:

其实c++指针很简单和很好玩,只要用心去学,你会从害怕到爱上它的,建议去学习一下《c++ primer plus》,里面讲解详细,如果你认真去学,两个星期你的c++绝对变得很好!!

时间: 2024-12-30 00:24:12

c++-有点害怕指针和迭代器怎么办?的相关文章

C++中const 与 迭代器(iterator) 使用 详解

迭代器(iterator) 是一种指针类型, 也分const指针本身(地址) 和 const指针所指的值, 两种情况; 但是写法和const内置指针有所不同; char * const 相当于 const container<>::iterator; 可以修改指针所指的值, 但不能修改指针的地址; const char * 相当于 container<>::const_iterator; 可以修改指针地址, 但不能修改指针所指的值; 注意代码示例, 两种const和迭代器; 代码:

把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)

督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 相关的内存,因为vetcor是类模版,对应多个不同类型,比如int,string,或者自己定义的数据类型等. 程序开头应如下声明 #include <iostream> #include <vector> #include <string> using std::strin

vector&amp;amp;lt;string&amp;amp;gt;中,迭代器指向的某个字符是什么类型

问题描述 vector<string>中,迭代器指向的某个字符是什么类型 string a; cin>>a; int Count=0; int x=0;int y=0; int buf1[10],buf2[10]; char t; vector<string> str(1,a); for(vector<string>::iterator be=str.begin();be!=str.end();++be){ if(*be>="0"&

浅析iterator与指针的区别_C 语言

1.指针和iterator都支持与整数进行+,-运算,而且其含义都是从当前位置向前或者向后移动n个位置 2.指针和iterator都支持减法运算,指针-指针得到的是两个指针之间的距离,迭代器-迭代器得到的是两个迭代器之间的距离 3.通过指针或者iterator都能够修改其指向的元素 通过上面这几点看,两者真的很像,但是两者也有着下面的几个不同地方 1.cout操作符可以直接输出指针的值,但是对迭代器进行在操作的时候会报错.通过看报错信息和头文件知道,迭代器返回的是对象引用而不是对象的值,所以co

C语言字符串操作总结大全

 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat(p, p1) 附加字符串  strncat(p, p1, n) 附加指定长度字符串  strlen(p) 取字符串长度  strcmp(p, p1) 比较字符串  strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串  strchr(p, c) 在字符串中查找指定字符  strrchr(p, c) 在字符串中反向查找 

Github Coding Developer Book For LiuGuiLinAndroid

Github Coding Developer Book For LiuGuiLinAndroid 收集了这么多开源的PDF,也许会帮到一些人,现在里面的书籍还不是很多,我也在一点点的上传,才上传不到一半,没办法,库存太多了 觉得全部pull麻烦的话,也可以评论留下书名+邮箱,我每天都会统一发邮件,当然,也可以是一个系列,感谢大家的支持 地址:https://github.com/LiuGuiLinAndroid/Coding-Developer-Book Coding-Developer-Bo

C++ STL 学习笔记

#.string 建议   使用string 的方便性就不用再说了,这里要重点强调的是string的安全性.       string并不是万能的,如果你在一个大工程中需要频繁处理字符串,而且有可能是多线程,那么你一定要慎重(当然,在多线程下你使用任何STL容器都要慎重).   string的实现和效率并不一定是你想象的那样,如果你对大量的字符串操作,而且特别关心其效率,那么你有两个选择,首先,你可以看看你使用的STL版本中string实现的源码:另一选择是你自己写一个只提供你需要的功能的类.

STL学习小结 .

from:http://blog.csdn.net/byxdaz/article/details/4633826#comments STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些"容器"有list, vector,set,map等,STL也是算法和其它一些组件的集合.这里的"容器"和算法的集合指的是世界上很多聪明人很多年的杰作

《21天学通C++(第7版)》——17.2 典型的vector操作

17.2 典型的vector操作 21天学通C++(第7版) std::vector类的行为规范和公有成员是由C++标准定义的,因此,遵循该标准的所有C++编程平台都支持本章将介绍的vector操作. 17.2.1 实例化vector vector是一个模板类,需要使用第14章介绍的方法进行实例化.要实例化vector,需要指定要在该动态数组中存储的对象类型: 要声明指向list中元素的迭代器,可以这样做: 如果需要可用于修改值或调用非const函数的迭代器,可使用iterator代替const