当前位置: 首页 > news >正文

石景山成都网站建设/上海搜索seo

石景山成都网站建设,上海搜索seo,广告设计好找工作吗,模板下载失败13.1 拷贝构造函数是什么?什么时候使用它? 答: 如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数。当使用拷贝初始化时,我们会用到拷贝构造函数。…

13.1  拷贝构造函数是什么?什么时候使用它?

答:

如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数是拷贝构造函数。当使用拷贝初始化时,我们会用到拷贝构造函数。

13.2  解释为什么下面的声明是非法的:

答:

参数类型应该是引用类型。

13.3  当我们拷贝一个StrBlob时,会发生什么?拷贝一个StrBlobPtr呢?

答:

当我们拷贝StrBlob时,会使 shared_ptr 的引用计数加1。当我们拷贝 StrBlobPtr 时,引用计数不会变化。

13.4  假定 Point 是一个类类型,它有一个public的拷贝构造函数,指出下面程序片段中哪些地方使用了拷贝构造函数:

答:

如上图,共6处

13.5  给定下面的类框架,编写一个拷贝构造函数,拷贝所有成员。你的构造函数应该动态分配一个新的string,并将对象拷贝到ps所指向的位置,而不是拷贝ps本身:

答:

13.6  拷贝赋值运算符是什么?什么时候使用它?合成拷贝赋值运算符完成什么工作?什么时候会生成合成拷贝赋值运算符?

答:

拷贝赋值运算符是一个名为 operator= 的函数。当赋值运算发生时就会用到它。合成拷贝赋值运算符可以用来禁止该类型对象的赋值。如果一个类未定义自己的拷贝赋值运算符,编译器会为它生成一个合成拷贝赋值运算符。

13.7  当我们将一个 StrBlob 赋值给另一个 StrBlob 时,会发生什么?赋值 StrBlobPtr 呢?

答:

会发生浅层复制。

13.8  为13.1.1节练习13.5中的 HasPtr 类编写赋值运算符。类似拷贝构造函数,你的赋值运算符应该将对象拷贝到ps指向的位置。

答:

13.9  析构函数是什么?合成析构函数完成什么工作?什么时候会生成合成析构函数?

答:

析构函数是类的一个成员函数,名字由波浪号接类名构成。它没有返回值,也不接受参数。合成析构函数可被用来阻止该类型的对象被销毁。当一个类未定义自己的析构函数时,编译器会为它生成一个合成析构函数。

13.11  为前面练习中的 HasPtr 类添加一个析构函数。

答:

13.12  在下面的代码片段中会发生几次析构函数调用?

答:

三次,分别是 accumitem1item2

13.13  理解拷贝控制成员和构造函数的一个好方法的定义一个简单的类,为该类定义这些成员,每个成员都打印出自己的名字:

给 X 添加拷贝赋值运算符和析构函数,并编写一个程序以不同的方式使用 X 的对象:将它们作为非引用参数传递;动态分配它们;将它们存放于容器中;诸如此类。观察程序的输出,直到你确认理解了什么时候会使用拷贝控制成员,以及为什么会使用它们。当你观察程序输出时,记住编译器可以略过对拷贝构造函数的调用。

答:

13.14  假定 numbered 是一个类,它有一个默认构造函数,能为每个对象生成一个唯一的序号,保存在名为 mysn 的数据成员中。假定 numbered 使用合成的拷贝控制成员,并给定如下函数:

则下面代码输出什么内容?

答:

输出3个完全一样的数。

13.17  分别编写前三题中所描述的 numbered 和 f,验证你是否正确预测了输出结果。

答:

13.14

13.15

13.16

13.18  定义一个 Employee 类,它包含雇员的姓名和唯一的雇员证号。为这个类定义默认构造函数,以及接受一个表示雇员姓名的 string 的构造函数。每个构造函数应该通过递增一个 static 数据成员来生成一个唯一的证号。

答:

13.19  你的 Employee 类需要定义它自己的拷贝控制成员吗?如果需要,为什么?如果不需要,为什么?实现你认为 Employee 需要的拷贝控制成员。

答:

13.22  假定我们希望 HasPtr 的行为像一个值。即,对于对象所指向的 string 成员,每个对象都有一份自己的拷贝。我们将在下一节介绍拷贝控制成员的定义。但是,你已经学习了定义这些成员所需的所有知识。在继续学习下一节之前,为 HasPtr 编写拷贝构造函数和拷贝赋值运算符。

答:

13.26  对上一题中描述的 strBlob 类,编写你自己的版本。

答:

13.27  定义你自己的使用引用计数版本的 HasPtr

答:

13.28  给定下面的类,为其实现一个默认构造函数和必要的拷贝控制成员。

答:

13.30  为你的类值版本的 HasPtr 编写 swap 函数,并测试它。为你的 swap 函数添加一个打印语句,指出函数什么时候执行。

答:

13.31  为你的 HasPtr 类定义一个 < 运算符,并定义一个 HasPtr 的 vector。为这个 vector 添加一些元素,并对它执行 sort。注意何时会调用 swap

答:

13.34  编写本节所描述的 Message

答:

13.39  编写你自己版本的 StrVec,包括自己版本的 reservecapacity 和resize

答:

13.40  为你的 StrVec 类添加一个构造函数,它接受一个 initializer_list<string> 参数。

答:

头文件

实现:

13.44 编写标准库 string 类的简化版本,命名为 String。你的类应该至少有一个默认构造函数和一个接受 C 风格字符串指针参数的构造函数。使用 allocator 为你的 String类分配所需内存。

答:

13.45  解释左值引用和右值引用的区别?

答:

常规引用被称为左值引用,绑定到右值的引用被称为右值引用。

13.46  什么类型的引用可以绑定到下面的初始化器上?

答:

13.58  编写新版本的 Foo 类,其 sorted 函数中有打印语句,测试这个类,来验证你对前两题的答案是否正确。 

答:

http://www.jmfq.cn/news/5276827.html

相关文章:

  • 网站文件怎么做/网站seo关键词排名推广
  • 网站开发架构mvc/百度seo是什么
  • java网站做微信分享/互联网登录的网站名
  • 沈阳外贸网站制作公司/国内最近发生的重大新闻
  • 政务网站开发方案/seo公司的选上海百首网络
  • 个人外贸网站/seo深圳优化
  • cms哪个好用/seo初级入门教程
  • 开发公司资质审查用假资料后果/seo入门培训学校
  • 怎么做展示型网站/大连网站排名推广
  • 做设计的一般在什么网站找素材/百度竞价托管一月多少钱
  • 外贸网站建设广州/网站推广基本方法是
  • 安徽建设厅网站进不去/做企业网站建设公司哪家好
  • 兼职网站建设 开源/营销心得体会感悟300字
  • 宿迁建设企业网站/排名优化公司
  • 微商城手机网站设计公司/网络广告的发布方式包括
  • 网站怎么做app吗/网店运营培训
  • 邮轮哪个网站是可以做特价/百度明星人气排行榜
  • 南通优化网站费用/怎样做网络推广营销
  • 网站建设与管理好吗/微信客户管理系统
  • 带dede后台的整套网站源码 数据库连接不上/百度搜索引擎收录入口
  • 做企业网站用哪个软件/爱站网 关键词挖掘工具站长工具
  • 网站开发程序/seo快速排名软件价格
  • 中国建设网站的公司/企业网站优化排名
  • 金坛建设银行总行网站/公司网站如何推广
  • 网站优化软件方案/谷歌账号注册入口官网
  • 国土资源局加强网站建设/阿里云官网首页
  • 域名备案注销流程/佛山网站优化软件
  • 多语言的网站/手机优化软件哪个好用
  • wordpress 关闭网站/北京网站营销与推广
  • 长沙网站建设推广服务/百度的竞价排名是哪种方式