C++primer第十六章答案 .pdf

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++primer第⼗六章答案 C++primer 第⼗六章答案 16.1 当编译器实例化⼀个模板时,它会创建⼀个新的“实例”。模板使⽤实际的模板参数代替对应的模板参数。 16.2 templatetypename T int compare(const T lhs, const T rhs) { if(lhs rhs) return -1; if(rhs lhs) return 1; return 0; } 16.3 模板参数错误,Sales_data类没有定义 16.4 templatetypename I ,typename V auto Find( I beg, I end ,const V v) { for (; beg != end *beg != v ; ++beg); return beg ; } 16.5 templatetypename T ,unsigned N void PrintArray(const T(a)[N]) { for (auto i : a) { std ::cout i ; } std ::cout std :: endl; } 16.6 templatetypename T , unsigned N T* Begin( T(a)[N]) { return a ; } templatetypename T , unsigned N T* End( T(a)[N]) { return a + N ; } 16.7 templatetypename T , unsigned N constexpr int Size(const T(a)[N]) { return N ; } 16.8 因为相⽐更多类定义了!=,这样做可以减少模板对参数的要求,模板程序应该尽量减少对实参类型的要求。 16.9 ⼀个函数模板是⼀个公式,可以从中⽣成不同类型版本的该函数。 类模板是⽣成类的蓝图。类模板与函数模板的不同之处在于,编译器⽆法推断类模板的模板参数类型。相反,正如我们所见很多时候, 要使⽤类模板,我们必须提供额外的信息放在模板名称后⾯的尖括号内。 16.10 当我们实例化⼀个模板类时,编译器会使⽤模板类型参数从模板中实例化⼀个特定类型的类。 16.11 模板类不是⼀个类型,我们在使⽤⼀个模板类时必须提供参数实例化出⼀个特定的类型。应该修改为 void insert(ListItem elemType *ptr, elemType value); ListItem elemType *front, *end; 16.11 #pragma once #include vector #includememory #includestring using namespace std ; templatetypename Value class BlobPtr ; templatetypename Value class Blob { friend class BlobPtrValue; public: typedef typename vectorValue::size_type size_type; Blob(): data(make_sharedvectorValue()) {} Blob(initializer_listValueil) :data(make_sharedvectorValue(il)) {} size_type size()const { return data-size(); } bool empty()const { return data-empty(); } void push_back(const Value v) { data-push_back(v); } void push_back(Value v) { data-push_back(move(v)); } void pop_back(); Value front(); Value back(); Value operator[](size_type n); Value front()const; Value back()const; Value opera

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档