首页 > 试题广场 > 在32位系统中,关于下面程序说法正确的是( &nb
[不定项选择题]
在32位系统中,关于下面程序说法正确的是(      )
class Item
{
private:
char *desc;
int storage;
public:
Item()
{
desc = new char[51];
}

void setInfo(char *dsrc, int num)
{
strcpy(desc,dsrc);
storage = num;
}
};

int main()
{
Item stock;

stock.setInfo("pen",20);

return 0;
}


  • main函数定义了一个stock对象占8个字节
  • storage和desc成员各占4个字节
  • 存在内存泄漏的问题
  • 存在编译错误
A,B 指针类型大小就是机器地址空间也就是 32/8=4字节,int类型占4字节,所以共8字节 C 在成员函数中new出来的地址空间,要在自定义析构函数去delete
发表于 2019-11-23 10:46:05 回复(0)
B 哪里有错?
发表于 2019-08-30 10:39:13 回复(6)
应该是ABC
发表于 2019-10-25 03:12:52 回复(0)
stock对象不止8个字节吧,创建stock调用构造函数后不是8+51*1=59,再字节对齐不是60字节么。
发表于 2019-10-14 22:10:47 回复(0)
有一道和这完全一样的题目,是一道多选题,答案是ABC
发表于 2019-09-19 11:18:32 回复(0)