Initializer_list

本文深入探讨了C++中的initializer_list模板的定义、用途、使用方法及成员类型、成员函数和非成员函数。详细解释了如何在类构造函数中使用初始化列表,以及初始化列表在内存分配和元素引用方面的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、定义
 template<class T> class initializer_list
2、用途
  此类型用于访问初始化表中的元素。初始化表是由一系列的const T组成的表。如:
        auto il = { 10, 20, 30}; // 以逗号分隔,包含在一堆花括号({})内
3、如要使用initializer_list,需包含头文件<
initializer_list
>。
4、初始化表中的每个元素被拷贝初始化到数组中。
    initializer_list不含任何元素,只是持有这些元素的引用。因此,拷贝一个
initializer_list不会产生元素的副本。
    若某类的某个构造函数只含有一个参数,且该参数是
initializer_list,则称该构造函数为初始化表构造式。该构造式优先于其他构造式。
    
struct myclass {
  myclass (int,int);
  myclass (initializer_list<int>);
  /* definitions ... */
};

myclass foo {10,20};  // calls initializer_list ctor
myclass bar (10,20);  // calls first constructor 

5、成员类型
    
value_type模板参数 (T)
referenceconst T&
const_referenceconst T&
size_typesize_t
iteratorconst T*
const_iteratorconst T*
6、成员函数
    
size 
begin 
end 
7、非成员函数
    
begin (initializer_list) 
end(initializer_list) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值