南京大学C++期末考试试卷及答案.docxVIP

  • 85
  • 0
  • 约3.86千字
  • 约 5页
  • 2021-09-17 发布于天津
  • 举报
南京大学《C++》2013-2014年期末考试试卷 第一大题; 1■请说明new. delete malloc. free分别在cu程序中的作用和使用场合,以及它们之间的 不同之处 malloc/free是C/C++标准库函数,new/delete是C++运算符。他们都可以用于动态申请和释 放内存。 对于内置类型数据而帛 二者没仃多大区别。malloc屮请内存的时候要制定分配内存的字节 数,而且不会做初始化;new申请的时候有默认的初始化,同时可以指定初始化; 对于类类型的对象而言,用malloc/free无法满足要求的。对象在创建的时候要自动执彳亍构 造函数,消亡之前雯调用析构函数。由于malloc/free足库函数而不是运算符,不在编译器 控制之内,不能把执行构适函数和析构函数的任务强加给它,因此,C++还需要new/delete。 2.结构(struct)和联合伽ion)两者有何区别? .结构和联合都是由多个不同的数据类型成员组成,但在任何同一时刻,联合中只存放了 ?个被选中的成员(所有成员共用 块地址空间儿 而结构的所有成员都存衽〔不同成员的 存放地址不同)。 .对于联合的不同成员赋值,将会对其它成员更写,原来成员的值就不存在了,而对于结 构的不同成员赋值是互不影响的。 3?如果虚函数是有效的.那为什么不把所有函数设为虚函数? 不行。首先.虚函数是有代价的.由于每个虚函数的

文档评论(0)

1亿VIP精品文档

相关文档