gpt4 book ai didi

c++ - 在 C++ 中怎么可能有一个字符串数组?

转载 作者:太空狗 更新时间:2023-10-29 19:44:36 24 4
gpt4 key购买 nike

当您使用 array[i] 访问数组的元素时,我认为 C++ 会在内存中获取数组的起始位置并添加 i*sizeof(one array element) 然后取消引用该地址(或做一些等效的事情到我刚才描述的)。然而,在我看来,如果你有一个字符串数组 (std::string),每个元素的大小可能会根据字符串中的字符数而不同,因此一定有其他原因。

此外,据我了解,数组元素存储在连续的内存中。如果您将字符串存储在连续内存中,然后将更多字符附加到其中一个,则必须移动所有后续字符串。

有人可以向我解释一下这是如何工作的吗?

最佳答案

字符串大小是常量,但它(在某种程度上)有一个指向一些非常量数据的指针

指针大小是常量,指针大小不是。

关于c++ - 在 C++ 中怎么可能有一个字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6181426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com