您的位置:首页 > 编程语言 > C语言/C++

读书笔记--initializer_list

2014-11-21 13:20 246 查看
initializer_list:

使用时包含头文件:

#include<initializer_list>

initializer_list是一种标准库类型,用于表示某种特定类型的值的数组。如果函数的实参数量未知但是全部实参的类型都相同,则可以使用initializer_list类型的形参

initializer_list对象中的元素永远是常量值,无法改变其对象中元素的值

initializer_list提供的操作:

initializer_list<T>1st:默认初始化;T类型元素的空列表

initializer_list<T>1st{a,b,c...}:1st的元素数量和初始值一样多;1st的元素是对应初始值的副本;列表中的元素是const

1st2(1st):拷贝或赋值一个initializer_list对象不会拷贝列表中的元素;拷贝后,原始列表和副本共享元素

1st2 = 1st:同上

1st.size():列表中的元素数量

1st.begin():返回指向1st中首元素的指针

1st.end():返回指向1st中尾元素下一位置的指针

例子1:

#include<iostream>

#include<initializer_list>

#include<string>

using namespace std;

void error_msg(initializer_list<string> il)

{
for(auto beg = il.begin() ; beg != il.end(); ++beg)
cout << *beg << ends;
cout << endl;

}

 int main()

 {
string a[] = {"abc", "124", "345"};
initializer_list<string>temp(a, a+3);
error_msg(temp);
return 0;

 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息