Just as a regular pointer to an array
guarantees that there is a pointer
value pointing past the last element
of the array,so for any iterator type
there is an iterator value that points
past the last element of a
corresponding container. These values
are called past-the-end values. Values
of an iterator i for which the
Expression *i is defined are called
dereferenceable. The library never
assumes that past-the-end values are
dereferenceable. Iterators can also
have singular values that are not
associated with any container.
[Example: After the declaration of an
uninitialized pointer x (as with int*
x;),x must always be assumed to have
a singular value of a pointer.]
Results of most Expressions are
undefined for singular values; the
only exception is an assignment of a
non-singular value to an iterator that
holds a singular value. In this case
the singular value is overwritten the
same way as any other value.
Dereferenceable values are always
nonsingular.
我真的不明白粗体显示的文字吗?
>什么是奇异值和非奇异值?他们如何定义?在哪里?
>如何以及为什么无法理解的价值观永远是非奇异的?
Iterators can also have singular values that are not associated with any container.
我想这是它的定义.
How and why dereferenceable values are always nonsingular?
因为如果不这样做,那么取消引用它们就是未定义的行为.
总结以上是内存溢出为你收集整理的c – 在STL迭代器的上下文中,什么是单数和非奇异值?全部内容,希望文章能够帮你解决c – 在STL迭代器的上下文中,什么是单数和非奇异值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)