彭尼玛 发表于 2018-10-7 12:24:31

为什么说 解迭代器 是返回所指元素的引用




解迭代器 不应该是返回迭代器所指的那个元素吗???怎么和引用扯上关系了??
C里面,对指针解引用也是获得指针所指地址上的那个变量,然后改变。。。
我知道用C的思路去解释C++可能有些不好
所以想来请教一下~谢谢各位大佬了


包括还有啊,不明白为什么decltype(*p) b=a;这样子,为什么decltype(*p)是一个引用类型??

人造人 发表于 2018-10-7 12:56:47

C/C++语言是值传递,如果返回迭代器所指的那个元素,那就是返回这个元素的一个副本,显然不是这样

彭尼玛 发表于 2018-10-7 13:56:20

人造人 发表于 2018-10-7 12:56
C/C++语言是值传递,如果返回迭代器所指的那个元素,那就是返回这个元素的一个副本,显然不是这样

诶,C里面不是这样的吗??C里面*p之后得到的不就是所指的那个地址上的那个元素吗?

彭尼玛 发表于 2018-10-7 14:19:23

人造人 发表于 2018-10-7 12:56
C/C++语言是值传递,如果返回迭代器所指的那个元素,那就是返回这个元素的一个副本,显然不是这样

感人……我在书后面一页又看到    书上写 :解引用迭代器可获得迭代器所指的对象…………那这特么不就和指针一个道理嘛………… 可为什么书前面一页却又写着*iter返回 迭代器iter所指元素的引用

人造人 发表于 2018-10-7 14:23:44

彭尼玛 发表于 2018-10-7 13:56
诶,C里面不是这样的吗??C里面*p之后得到的不就是所指的那个地址上的那个元素吗?

我不知道如何给你解释这些,非常不建议你现在去深入理解这些
先忽略这些问题继续向后学吧,不要钻牛角尖,解释一个问题就需要引入另一个问题,这些问题之间有着依赖关系,要控制好学习的深度,想要深度,你先要有广度
解释这些东西需要汇编语言,我可以用汇编语言给你解释这些,不过我认为时机未到
把不能理解的都放下,学完了C语言后去学习汇编语言,学了汇编语言以后,这些就容易理解的多了

人造人 发表于 2018-10-7 14:26:03

彭尼玛 发表于 2018-10-7 14:19
感人……我在书后面一页又看到    书上写 :解引用迭代器可获得迭代器所指的对象…………那这特么不 ...

概念就仅仅只是概念
抛开这些概念,如果我告诉你
引用就是指针,指针就是引用,你能理解吗?
去学习汇编语言

彭尼玛 发表于 2018-10-7 15:41:29

人造人 发表于 2018-10-7 14:23
我不知道如何给你解释这些,非常不建议你现在去深入理解这些
先忽略这些问题继续向后学吧,不要钻牛角尖 ...

{:5_108:}恩恩_(:з」∠)_啊,我才刚看完C,现在在看C++,感觉路途还好遥远啊,学完C++,想看数据结构,然后在看JAVA,tyhon等,感觉要看到汇编,还真……遥远{:5_99:}

人造人 发表于 2018-10-7 18:26:19

彭尼玛 发表于 2018-10-7 15:41
恩恩_(:з」∠)_啊,我才刚看完C,现在在看C++,感觉路途还好遥远啊,学完C++,想看数据结构, ...


页: [1]
查看完整版本: 为什么说 解迭代器 是返回所指元素的引用