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

C++17新特性 类型推导

在传统C和C++中,参数的类型都必须明确定义,这其实对我们快速进行编码没有任何帮助,尤 其是当我们面对一大堆复杂的模板类型时,必须明确的指出变量的类型才能进行后续的编码,这不仅拖 慢我们的开发效率,也让代码变得又臭又长。 

        C++11引入了auto和decltype这两个关键字实现了类型推导,让编译器来操心变量的类型。这 使得C++也具有了和其他现代编程语言一样,某种意义上提供了无需操心变量类型的使用习惯。

/在C++11之前,由于cbegin()将返回vector<int>::const_iterator类型,因此iter页应该是vector<int>::const_iterator类型
//for (vector<int>::const_iterator iter = v.cbegin(); iter != v.cend(); ++iter) {//   cout << *iter << endl;
//}//在C++11之后,使用auto进行类型推导
#include <iostream>
#include <vector>
#include <initializer_list>class MagicFoo{public:std::vector<int> vec;MagicFoo(std::initializer_list<int> init) {for (auto it = list.begin(); it != list.end(); ++it) {vec.push_back(*it);}}
};int main() {MagicFoo foo = {1, 2, 3, 4, 5};// 使用auto进行类型推导for (auto iter = foo.vec.cbegin(); iter != foo.vec.cend(); ++iter) {std::cout << *iter << std::endl;}return 0;
}

 

http://www.xdnf.cn/news/734203.html

相关文章:

  • 虚拟化数据恢复—XenServer虚拟机虚拟磁盘文件丢失的数据恢复案例
  • 集成测试 maestro-我的第一个flow以及第一次云端测试
  • React和原生事件的区别
  • π0-FAST-针对VLA模型的高效动作token化技术-2025.1.16-开源
  • 使用 Fetch + Streams 处理流式响应(Streaming Response)
  • Odoo OWL 框架深度研究(VIP10万字版)
  • 特伦斯 S75 电钢琴:重构演奏美学的极致表达
  • 小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)
  • OptiStruct实例:消声器前盖ERP分析(2)RADSND基础理论
  • 深入解析 Redis Cluster 架构与实现(二)
  • 【sa-token】 sa-token非 web 上下文无法获取 HttpServletRequest。
  • 数据结构:导论
  • SpringBatch+Mysql+hanlp简版智能搜索
  • matlab计算转子系统的固有频率、振型、不平衡响应
  • StringBuilder对象的操作
  • cocos creator资源管理器,资源动态加载和释放
  • 基于Qt封装数据库基本增删改查操作,支持多线程,并实现SQLite数据库单例访问
  • 【google 论文】Titans: Learning to Memorize at Test Time
  • 裂缝仪在线监测装置:工程安全领域的“实时守卫者”
  • DrissionPage WebPage模式:动态交互与高效爬取的完美平衡术
  • C# 将HTML文档、HTML字符串转换为图片
  • Window10+ 安装 go环境
  • 深入探索:基于 Nacos 的配置管理之动态配置与环境管理
  • Lifecycle原理
  • 低秩矩阵、奇异值矩阵和正交矩阵
  • 【FlashRAG】本地部署与demo运行(一)
  • ArcGIS应用指南:基于网格与OD成本矩阵的交通可达性分析
  • AI时代的园区网变革:“极简”行至最深处,以太彩光恰自来
  • 【C++】位图
  • 前端pointer-events属性