C++Primer第五版 6.2.6节练习

练习6.27:编写一个函数,它的参数是initializer_list <int> 类型的对象,函数的功能是计算计算列表中所有元素的和。

练习6.28:在error_msg函数的第二个版本中包含ErrCode类型的参数,其中循环内的elem是什么类型。
答:const string 类型

练习6.29:在范围for循环使用initalizer_list对象时,应该将循环控制变量声明成引用类型吗,为什么?
答:应该将循环变量声明为应用类型,将控制变量和initalizer_list对象进行绑定,尽管进行绑定,控制变量定义为const引用类型,因此不能对initalizer_list对象进行修改。

练习6.27

/*
*练习6.27 
*2015/6/15
*问题描述:练习6.27:编写一个函数,它的参数是initializer_list <int> 类型的对象,函数的功能是计算计算列表中所有元素的和。 
*功能:可变参数的列表 
*作者:Nick Feng 
*邮箱:nickgreen23@163.com 
* 
*/

#include <iostream>
#include <initializer_list>

using namespace std;

void sum(initializer_list<int> li)
{
    auto s = 0;
    for (auto beg = li.begin(); beg != li.end(); ++beg)
        s = s + *beg;
    cout << s << endl;
} 

int main()
{

    initializer_list<int> li{1,2,3,4,5,6,7,8,9,10};
    cout << "The result is: " << endl;
    sum(li);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值