Can a C++;对象是否存储在最高内存位置? 是内存的最高位置(可能是代码>(空洞*)(STD:UnpTrtut)-1 < /C>)一个存储C++对象的有效地址? VECT。它们在iffvect.empty()时相等
Can a C++;对象是否存储在最高内存位置? 是内存的最高位置(可能是代码>(空洞*)(STD:UnpTrtut)-1 < /C>)一个存储C++对象的有效地址? VECT。它们在iffvect.empty()时相等,c++,arrays,pointers,object,byte,C++,Arrays,Pointers,Object,Byte,(void*)(uintptr_t)-1(通常与(void*)(size_t)-1相同)指向虚拟内存的最大可寻址字节。根据体系结构和环境的不同,它可以是有效的内存位置,也可以是无效的内存位置 向量的最后一个元素(*(vect.end()-1))可以位于最大的虚拟内存地址上。vect.end()永远不会小于vect.begin()。它们在iffvect.empty()时相等 (void*)(uintptr_t)-1(通常与(void*)(size_t)-1相同)指向虚拟内存的最大可寻址字节。根据体
(void*)(uintptr_t)-1
(通常与(void*)(size_t)-1
相同)指向虚拟内存的最大可寻址字节。根据体系结构和环境的不同,它可以是有效的内存位置,也可以是无效的内存位置
向量的最后一个元素(*(vect.end()-1)
)可以位于最大的虚拟内存地址上。vect.end()
永远不会小于vect.begin()
。它们在iffvect.empty()时相等
(void*)(uintptr_t)-1
(通常与(void*)(size_t)-1
相同)指向虚拟内存的最大可寻址字节。根据体系结构和环境的不同,它可以是有效的内存位置,也可以是无效的内存位置
向量的最后一个元素(*(vect.end()-1)
)可以位于最大的虚拟内存地址上。绝对不能保证地址-1无效。但是,它是可能的最高地址
当然,迭代器与有效内存地址或size\t
的值没有任何关系。仅仅是使用操作符以一种合理的方式进行比较,绝对不能保证地址-1是无效的。但是,它是可能的最高地址
当然,迭代器与有效内存地址或size\t
的值没有任何关系。只需使用操作符以一种合理的方式进行比较。begin()
和end()
是迭代器,它们与大小无关“调用重载函数vector::iterator::operator这对于vector
来说是一个不同于其他容器的问题;向量要求元素存储在连续内存中,而其他元素则不需要t@MattMcNabb这是一个很好的观点,谢谢。size\u t max((size\u t)-1)
是一个内存位置,而不是一个类型为size\u t
且初始值可能不相关的对象?类型为size\u t
的值是一个整数值,而不是指针或地址。.begin()
和.end()
是迭代器,它们与size\u t
无关。“小于”表示“调用重载函数vector::iterator::operator这对于vector
来说是一个不同于其他容器的问题;向量要求元素存储在连续内存中,而其他元素则不需要t@MattMcNabb这是一个很好的观点,谢谢。size\u t max((size\u t)-1)
是一个内存位置,而不是一个类型为size\u t
且初始值可能不相关的对象?size\t
类型的值是一个整数值,而不是指针或地址。那么向量的最后一个元素是否永远不会位于最高内存地址中呢?@jayjay正如您所知,.end()
不会指向向量的最后一个元素,它指向向量的末尾:你确定它指向那里吗?保证在哪里?size\u t
不保证索引所有内存,uintptpr\u t
是size\u t
仅用于将所有可能的字节索引存储到每个对象中,因此可以小得多。关于(void*)(uintptr\u t)-1
的语句假设地址是无符号的。就语言而言,地址没有符号,只是因为它们不是整数。那么向量的最后一个元素是否永远不会位于最高内存地址中呢?@jayjay正如您所知,。end()
不会指向向量中的最后一个元素,它指向向量的末尾:你确定它指向那里吗?保证在哪里?size\u t
不保证索引所有内存,uintptpr\u t
是size\u t
仅用于将所有可能的字节索引存储到每个对象中,因此可以小得多。关于(void*)(uintptr\u t)-1
的语句假设地址是无符号的。就语言而言,地址没有符号性,只是因为它们不是整数。你确定任何旧的迭代器都比不上可比较的?好吧,从技术上讲,它们没有,但当它们不是时,这就有点不现实了……除了RandomAccessIterator之外,所有迭代器都是可比较的,但这并不意味着没有用处。你确定任何旧的迭代器都比不上可比较的
?好吧,从技术上讲,它们没有,但当它们不是时,这是不现实的。除了RandomAccessIterator之外,所有的迭代器都只是
相等可比较的,这并不意味着它没有用处。