读书笔记--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;
}
使用时包含头文件:
#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;
}
相关文章推荐
- Thinking in java 读书笔记(八.2:abstractCollection、List和AbstractList阅读)
- 读书笔记 Think in Java 4th 第十一章 持有对象 List、Set、Queue和Map
- List源码读书笔记
- 《疯狂Java讲义精粹》读书笔记14 ------ List集合基础
- c++11新特性initializer_list模板
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- must be initialized in constructor base/member initializer list
- Initializer_list
- 《数据结构与算法分析:C语言描述》读书笔记------List的C语言实现
- Cannot find an initializer for type '[(String)]' that accepts an argument list of type '(LazyForward
- 解决关于initializer_list对象拷贝的疑问
- 《101 Windows Phone 7 Apps》读书笔记-TODO LIST
- STL 源码剖析读书笔记三:序列式容器之 vector、list
- Compiler Error C2552 non-aggregates cannot be initialized with initializer list
- c++11特性之initializer_list
- initializer_list类型详解
- C++ forward_list,Vertor,Initializer_list用法知识点
- C++11特性(模板类 initializer_list)
- Programming in Scala (Second Edition) 读书笔记15 使用List
- C++ 列表初始化 initializer_list 初始化列表 和 POD