gpt4 book ai didi

c++ - 为什么 sizeof Variablename/sizeof * VariableName 不能按预期工作?

转载 作者:太空狗 更新时间:2023-10-29 23:42:19 27 4
gpt4 key购买 nike

 class Simple {
string *data ;
//some functions and declaration of some variable,const, dest
};

当我做的时候;

 data = new string [10] ;

cout << sizeof data / sizeof *data << endl ;

==> 1 // output


data = new string [50];
cout <<sizeof data / sizeof *data <<endl ;

==> 1 // output

**Why** do all output display the same ?

最佳答案

因为它根本不起作用。

它只适用于以这种方式声明的普通旧数组:

 string a[10];

这是唯一可行的情况。

在您的情况下,您无法从您拥有的指针中检索大小。您必须存储您拥有的大小,或者只使用都具有 .size() 成员的 STL 容器。后者更可取。

关于c++ - 为什么 sizeof Variablename/sizeof * VariableName 不能按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957080/

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