当前位置: 首页 > wzjs >正文

做网站 支付账号免费吗免费的排版软件

做网站 支付账号免费吗,免费的排版软件,智慧门店管理系统app,不允许访问网站std::initializer_list 是 C11 引入的一个轻量级模板类,用于支持花括号初始化列表({1, 2, 3})的语义。它允许函数或构造函数接受任意长度的同类型初始化列表,是实现统一初始化({} 语法)的核心组件。 1. 基本…

std::initializer_list 是 C++11 引入的一个轻量级模板类,用于支持花括号初始化列表{1, 2, 3})的语义。它允许函数或构造函数接受任意长度的同类型初始化列表,是实现统一初始化({} 语法)的核心组件。


1. 基本特性

(1) 头文件

cpp

#include <initializer_list>

(2) 核心特点

  • 轻量级容器:只存储指向初始化列表元素的指针和长度,不拥有数据。

  • 常量性:元素是 const 的,不可修改。

  • 临时性:通常由编译器隐式构造,生命周期短暂(绑定到表达式结束)。

  • 支持范围 for 循环:可以遍历元素。


3. 底层实现原理

(1) 编译器隐式构造 initializer_list

当使用 {1, 2, 3} 初始化时,编译器会:

  1. 在栈或静态存储区创建一个临时数组 const T[N](如 const int[3])。

  2. 用 initializer_list 包装该数组的首地址和长度

  3. 传递给目标函数或构造函数。

(2) 示例:编译器生成的代码

cpp

// 用户编写的代码
std::vector<int> v = {1, 2, 3};// 编译器生成的伪代码
const int __temp_array[3] = {1, 2, 3};
std::vector<int> v(std::initializer_list<int>(__temp_array, 3));

(3) 内存模型

复制

下载

+-------------------+      +---------+
| initializer_list  |      | 临时数组  |
|-------------------|      |---------|
| _M_array (指针)   | ---> | 1       |
| _M_len (长度)     |      | 2       |
+-------------------+      | 3       |+---------+
  • initializer_list 不管理内存,仅引用临时数组。


4. 自定义类支持 initializer_list

(1) 定义构造函数

cpp

class MyContainer {std::vector<int> data;
public:MyContainer(std::initializer_list<int> init) : data(init) {std::cout << "Constructed with " << init.size() << " elements\n";}
};// 使用
MyContainer c = {1, 2, 3};  // 输出: Constructed with 3 elements

(2) 结合其他构造函数

注意重载优先级:

cpp

class Widget {
public:Widget(int a, int b);                   // (1)Widget(std::initializer_list<int> list); // (2)
};Widget w1(10, 20);   // 调用 (1)
Widget w2{10, 20};   // 调用 (2)!优先匹配 initializer_list
Widget w3{10};       // 调用 (2),而非 (1) 的隐式转换

5. 注意事项

(1) 窄化转换检查

{} 初始化会禁止窄化转换,但 initializer_list 本身不检查:

cpp

int x{3.14};  // 错误:窄化转换
std::vector<int> v{1, 2, 3.14}; // 错误:列表内禁止窄化

文章转载自:

http://0uKTM6O8.jhrLk.cn
http://KfHEwRz0.jhrLk.cn
http://Q3myBMpm.jhrLk.cn
http://cYdjckFi.jhrLk.cn
http://ZzXBfBQ7.jhrLk.cn
http://Ydv9c28p.jhrLk.cn
http://m88DQk5a.jhrLk.cn
http://VTxiPkLg.jhrLk.cn
http://5N7sd3Zy.jhrLk.cn
http://LYV4qApB.jhrLk.cn
http://vXBPgJAb.jhrLk.cn
http://e3QvN0p4.jhrLk.cn
http://ETKw88wC.jhrLk.cn
http://EWEdNfV5.jhrLk.cn
http://h70YEl1g.jhrLk.cn
http://mY8Uw7zj.jhrLk.cn
http://J8KC44dd.jhrLk.cn
http://M28z9aPj.jhrLk.cn
http://Z6J0v23r.jhrLk.cn
http://KToYM9at.jhrLk.cn
http://TbkL3O9U.jhrLk.cn
http://0eoNV0sa.jhrLk.cn
http://iS4JPOC5.jhrLk.cn
http://mnw99sKc.jhrLk.cn
http://Eo6THzCl.jhrLk.cn
http://SaiUeNR0.jhrLk.cn
http://6r0a9ykw.jhrLk.cn
http://yGKqPCM1.jhrLk.cn
http://5XFt75je.jhrLk.cn
http://adPbYHP4.jhrLk.cn
http://www.dtcms.com/wzjs/603122.html

相关文章:

  • 广州城乡建设部网站首页做外贸哪个网站要办信用卡的
  • 西安知名的集团门户网站建设公司销售渠道及方式
  • 聊城网站建设工作室河北建设工程信息网更名
  • 平面设计网站大全网站ui设计已经不火了
  • 北京市中海建设有限公司网站阿里云域名注册续费
  • 盐城市城南新区建设局网站创意图片
  • 鲅鱼圈网站怎么做高端定制网站建设
  • 网站建设crm做商标网站
  • 百度蜘蛛抓取网站模块前端考什么证书含金量高
  • ui设计较好的网站单页网站利润
  • 电子商务网站建设摘要旅游基础微网站开发代理商
  • 网站代码 公告栏 php大学网站建设论文
  • 重庆网站seo班级微信公众号怎么创建
  • 网站系统怎么建设建立一个国外的网站
  • 建一个网站怎么赚钱吗怎么把自己做的网站放上网络
  • wordpress 下载站点查公司信息在哪里查
  • 2008r2 iis网站验证码不显示it外包工作
  • 购物网站建设好处石家庄建设局网站
  • 动态域名解析江门seo推广优化
  • 网站制作的公司哪个好a8新媒体的案例
  • 做pc端网站讯息虚拟主机建设网站绑定域名
  • 网站怎么上传网站吗网站广告通栏效果
  • 网站之家查询查企业网站有哪些
  • 网站浏览排名网络推广有什么技巧没
  • 免费网站收录入口网站源码php
  • 如何做与别人的网站一样的get_category wordpress
  • 广州网站建设提供商您与此网站之间建立的连接不安全
  • 农业展示网站模板下载深圳百度seo整站
  • h5互动网站建设成都网站建设优化企业排名
  • 长沙建设工程造价网站网站开发框架系统