gpt4 book ai didi

c++ - C++ 中的字符串类 e char

转载 作者:行者123 更新时间:2023-11-28 08:19:02 25 4
gpt4 key购买 nike

当我有

char anything[20];
cout << sizeof anything;

它打印出 20。

不过

string anymore;
cout << sizeof anymore; // it prints 4
getline(cin, anymore); // let's suppose I type more than one hundred characters
cout << sizeof anymore; // it still prints 4 !

我想了解 C++ 是如何管理它的。谢谢

最佳答案

sizeof 是编译时构造。它与运行时无关,而是根据传递给它的类型(或传递给它的值的类型)给出固定结果。所以 char[20] 是 20 个字节,但一个字符串可能是 4 或 8 个字节或任何取决于实现的字节。 sizeof 不会告诉您字符串动态分配了多少存储空间来保存其内容。

关于c++ - C++ 中的字符串类 e char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636915/

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