第十六章 16.4.2节练习

来源:互联网 发布:云计算 编辑:程序博客网 时间:2024/04/28 11:38

练习16.56

编写并测试可变参数版本的errorMsg。

解答:

#include <iostream>using namespace std;template <typename T>  ostream &print(ostream &os, const T &t){        return os << t;  }    template <typename T, typename... Args>  ostream &print(ostream &os, const T &t, const Args& ... rset){        os << t << ", ";            return print(os, rset...);  }  template <typename T>int hello(T a){  return 1;}template <typename... Args>ostream &errorMsg(ostream &os, const Args&... rset){  return print(os, hello(rset)...);}int main(){  errorMsg(cout, 1,2,3,4,5,6,7,8,9,10.9);  cout << endl;  errorMsg(cout, 17,8,9,10.9);  cout << endl;}

练习16.57

比较你的可变参数版本的errorMsg和6.2.6节(第198页)中的error_msg函数。两种方法的优点缺点各是什么?

解答:

可变参的函数版本应该是能覆盖之前的那种形式。

之前的那种形式也就是同类型的initializer_list,序列中的元素必须是类型相同的。

而,本节的errorMsg更加的一般,能包容之前的形式,也能适应不同类型元素的打印。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑主机未成功启动怎么办 主机未成功启动怎么办 电脑主机未能成功启动怎么办 虚拟机没有自带怎么办 错误连接为720怎么办 dns错误不能上网怎么办 家里无线用不了怎么办 磁盘c5坏了怎么办 一体机装xp蓝屏怎么办 虚拟机密码忘记了怎么办 vivoy66手机太卡怎么办 虚拟机装xp蓝屏怎么办 exagear玩起来卡怎么办 第五人格模拟器玩太卡怎么办 速腾油箱盖打不开怎么办 奥迪a6油箱盖打不开怎么办 苹果手提虚拟机黑屏怎么办 mac系统桌面变大怎么办 删除文件要权限怎么办 页面载入错误了怎么办 手机打不开excel表格怎么办 皇室战争闪退怎么办 苹果老是闪退怎么办 黑苹果开机黑屏怎么办 MAC磁盘删了怎么办 mac磁盘被锁定怎么办 bt5读不到网卡怎么办 笔记本电脑cpu温度过高怎么办 笔记本cpu温度过高怎么办 联想系统崩溃了怎么办 办公软件用不了怎么办 win10设置闪退怎么办 手机浏览器版本低怎么办 wps界面动不了怎么办 手机设置删了怎么办 苹果手机设置不见了怎么办 笔记本电脑键盘不好使怎么办 网咖怎么办临时卡 cydia添加雷锋源失败怎么办 电脑mac已锁定怎么办 苹果home键发热怎么办