#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <vector>
#include <time.h>
//: Poly.cpp
#include <iostream>
#include <initializer_list>
using namespace std;

/*  initializer_list 是C++11新增的,可以使用它来初始化STL:
           例如:std::vector<double> payments {45.9,39.3,19.59,89.1};
           上述声明与下述代码等价(这里显式的将列表指定为构造函数参数):
           std::vector<double> payments ({45.9,39.3,19.59,89.1});

在C++11 可以使用 {} 而不是 () 来 调用类的构造函数:
           shared_ptr<double> pd{new double};   //ok to use {} instead of ()
*/

/*   提供initializer_list 类的初衷,旨在能够将一系列的值换递给构造函数或其他函数。
     注意:initializer_list 的迭代器类型为const,因此不能修改initializer_list中的值。
    即不能这么做:
            *dl.begin() = 20.0;    错误做法。
    但可以将一个initializer_list 赋给另一个 initializer_list :
             dl={16.0,25.0,36.0,49.0,64.0};

*/
#include<iostream>
#include<initializer_list>

double sum(std::initializer_list<double> il);
double average(const std::initializer_list<double> &ril);

int main(int argc,char **argv){
    using std::cout;
    using std::endl;

    cout<<,,})<<,,})<<endl;
    std::initializer_list<double> dl={1.1,2.2,3.3,4.4,5.5};
    cout<<"List 2:sum = "<<sum(dl)<<", average= "<<average(dl)<<endl;

    dl={16.0,25.0,36.0,49.0,64.0};
    cout<<"List 3:sum = "<<sum(dl)<<", average= "<<average(dl)<<endl;

    ;
}
double sum(std::initializer_list<double> il){
    ;
    for(auto p = il.begin();p != il.end();++p){
        tot += *p;
    }
    return tot;

}

double average(const std::initializer_list<double> &ril){
    ;
    int n = ril.size();
    double ave = 0.0;
    ){
        for(auto p = ril.begin();p != ril.end();++p){
            tot+=*p;
        }
        ave = tot / n;
    }
    return ave;
}

STL初始化initializer_list的更多相关文章

  1. c++interview

    出自:https://github.com/huihut/interview Github    |    Docsify 简体中文    |    English 关于 本仓库是面向 C/C++ 技 ...

  2. C++Primer第5版学习笔记(四)

    C++Primer第5版学习笔记(四) 第六章的重难点内容         你可以点击这里回顾第四/五章的内容       第六章是和函数有关的知识,函数就是命名了的代码块,可以处理不同的情况,本章内 ...

  3. initializer_list、初始化列表、列表初始化

    什么是列表初始化 使用一个花括号来初始化变量,表现形式如下: std::vector<int>a{1,2,3,4,5}; 或者 std::vector<int>a = {1,2 ...

  4. C++11新特性——初始化列表 initializer_list

    破事水: 由于最近数据结构有个实验报告说是要对字符串进行排序,想偷个懒不想一个一个地赋值,虽然可以用strcpy和传入二级指针的形式直接写,但是这样感觉不美观漂亮. 然后就去膜了一下C++11的新特性 ...

  5. initializer_list 列表初始化

    initializer_list 列表初始化 用花括号初始化器列表初始化一个对象,其中对应构造函数接受一个 std::initializer_list 参数. #include <iostrea ...

  6. 第7课 列表初始化(2)_分析initializer_list<T>的实现

    1. 初始化列表的实现 (1)当编译器看到{t1,t2…tn}时便会生成一个initializer_list<T>对象(其中的T为元素的类型),它关联到一个array<T,n> ...

  7. [转]C++ STL list的初始化、添加、遍历、插入、删除、查找、排序、释放

    list是C++标准模版库(STL,Standard Template Library)中的部分内容.实际上,list容器就是一个双向链表,可以高效地进行插入删除元素. 使用list容器之前必须加上S ...

  8. 初始化列表initializer_list

    初始化列表定义在<initializer_list>,初始化列表简化了参数数量可变的函数的编写,初始化列表的所有的元素都应该是同一种数据类型 由于定义了列表中允许的类型,所以初始化列表是安 ...

  9. 标准模板库(STL) map —— 初始化问题

    map 容器没有:.reverse成员: map 是关联式容器,会根据元素的键值自动排序: map 容器不是连续的线性空间: 标准 STL 使用 RB-tree 为底层机制 ⇒ 自动排序(关于键值): ...

随机推荐

  1. 前端页面基于JQuery的点击事件

    一,使用id选择器 1.方式一 $("#id").click(function(){ do something }) 2.方式二 $("#id").on(&qu ...

  2. 学习axios

    axios({ method: 'post', url: '/user/12345', data: { firstName: 'Fred', lastName: 'Flintstone' } }) . ...

  3. 盖洛普Q12在团队中的应用

    周五给大家做了个盖洛普Q12的分享.   分享前做了调查问卷.除了盖洛普Q12的12个问题: 1.我知道公司对我的工作要求吗? 2.我有做好我的工作所需要的材料和设备吗? 3.在工作中,我每天都有机会 ...

  4. 『cURL』curl: (6) Could not resolve host无法解析主机地址

    最近在学数据挖掘时,获取数据有两种途径: 开放数据,可以直接使用和存储的数据: 网络数据,通过爬虫或云市场api(付费或免费)获取数据 我通过教程,在阿里云购买一个天气数据api,尝试使用cURL获取 ...

  5. Python 之Web编程

    一 .HTML是什么? htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片.链接.甚至音乐.程序等非文字元素 标记语言:标记(标签)构成的语言 ...

  6. 最好用的jQuery-Ajax缓存插件

    AJAX-Cache    最好用的jQuery-Ajax缓存插件 介绍 AJAX-Cache是一款jQuery插件,基于localStorage/sessionStorage实现异步请求缓存功能,并 ...

  7. Java基础系列--05_面向对象

    1.概述: (1)面向过程:将问题一步一步的解决的过程(详细步骤),在C语言中所有的代码都是基于过程化的代码. (2)面向对象:面向对象是基于面向过程的编程思想,所有的事情都交由创建出来的对象去指挥. ...

  8. shader高级纹理学习总结

    最近看了shader的高级纹理 做个总结 复习! shader迟早是要拿下的

  9. JSON获取地址

    JSON获取地址一: https://github.com/stleary/JSON-java JSON获取地址二: http://genson.io/ JSON获取地址一: https://code ...

  10. PHP变量传值赋值和引用赋值,变量销毁

    <?php $a = 100; $b = 200; var_dump($a,$b); //int(100) int(200) ?> php中,上面的代码,变量是怎么存放的呢? 上面的代码变 ...