![]() |
1
4
这是一个完整的工作片段。要回答您的问题,注释[1]所在的行显示了如何取消引用const迭代器,而注释[2]显示了如何使用运算符[]取消引用。
|
![]() |
2
4
迭代器取消对列表的引用。如果要访问该列表中的对象,则必须使用List方法进行访问。但是,由于STL列表不会重载索引运算符,因此这不是一个有效的选项。 这将允许您在列表中的第一个元素上调用somefunc:
另一方面,如果需要列表的迭代器,可以这样做:
|
![]() |
3
2
迭代器类不提供运算符[],因此不能这样使用它。您应该将其用作x->somefunc()。 |
![]() |
4
2
x是一个迭代器,它就像一个指针,指向一个列表。所以您只能使用std::list成员的函数。 |
![]() |
5
2
常量迭代器将取消引用
忽略错误检查:
|
![]() |
6
0
如果要直接访问,则列表和向量类已经实现了[]运算符,因此只需直接访问它:vectorobj[x].somefunc(); 迭代器用于遍历列表(按照名称的建议进行迭代),为此使用它。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |