这是因为它new std::string[5]
是动态数组分配,因此没有(固定/定义/可计算)大小(如果您在分配之前没有保存),实际上
auto p = new std::string[5];
std::cout << sizeof(p);
将打印8
指针大小的大小。
因此,调试器将其ptr
视为指针,无法确定第一个元素之后还有其他4个元素(因此无法确定是a array
,而不仅仅是apointer
到a string
)
似乎这是一个“ C ++ POV”,并且调试器可以具有更多信息,因此应该能够弄清楚它是一个数组,string
而不只是一个数组pointer to string
(感谢@Konrad Rudolph)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句