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

C++模板知识点3『std::initializer_list初始化时逗号表达式的执行顺序』

std::initializer_list初始化时逗号表达式的执行顺序
在使用Qt Creator4.12.2,Qt5.12.9 MinGW开发的过程中发现了一个奇怪的现象,std::initializer_list<int>在初始化构造时的执行顺序反了,经过一番测试发现,其执行顺序可正可反,当然仅限于此开发环境下。

template<typename... Params>
void print(Params... ps) {std::initializer_list<int>{(qDebug() << ps, 1)...};qDebug() << "---------------------";std::initializer_list<int> value{(qDebug() << ps, 1)...};
}调用处的函数为: print(1, 'c', 2.3);
调试输出顺序为:先是2.3 c 1,后是1 c 2.3

这输出结果令人脑子发懵啊,打开VS2017新建控制台程序,复制代码,调试运行,发现输出顺序始终为:1 c 2.3,符合之前认知。

测试图片合并如下:
在这里插入图片描述
不知道为什么Qt中打印顺序不一致,欢迎知道的大佬指点一下。

http://www.lryc.cn/news/609848.html

相关文章:

  • 1.kotlin数组、集合常用方法
  • 【iOS】渲染原理离屏渲染
  • 网络安全 | 从 0 到 1 了解 WAF:Web 应用防火墙到底是什么?
  • 国内首个开源SCA社区——OpenSCA开源社区
  • C++临时对象:来源与性能优化之道
  • 前后端流式交互的几种方式
  • Petalinux快捷下载
  • 【笔记】ROS1|2 Turtlebot3汉堡Burger连接和远程控制【旧文转载】
  • 【SpringAI】SpringAI的介绍与简单使用
  • 算力板卡:驱动智能时代的核心引擎
  • File、IO流体系
  • 防御保护综合练习
  • 关键领域软件研发如何构建智能知识管理体系?从文档自动化到安全协同的全面升级
  • 详解Python标准库之通用操作系统服务
  • ZeroNews内网穿透安全策略深度解析:构建企业级安全连接体系
  • 【2025】想曰(yue)免费开源的文本加密软件,保障隐私安全
  • 福彩双色球第2025089期篮球号码分析
  • 竞品分析爬虫实现方案
  • 人类学家与建筑师:解析 UX 研究与项目管理的需求分析差异​
  • Opencv[一]
  • # 自动定时运行Python爬虫脚本教程(Windows任务计划程序)
  • 项目实战二:RPC
  • 17.6 超拟人大模型CharacterGLM技术解析:92.7%角色一致性+虚拟偶像互动提升300%,如何吊打GPT-4?
  • C++-异常
  • Python----大模型(量化 Quantization)
  • MySQL详解(一)
  • 从零开始的云计算生活——项目实战
  • 商标续展如果逾期了还有办法补救吗?
  • 消息系统技术文档
  • 学习嵌入式第十九天