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

C++学习笔记 24 auto

一、auto

  1. 自动类型推导 (个人思考:应该可用于多态的场景)
  2. 二、C++11 尾置类型占位符 (trailing return type)
  3. 别名简化长类型,auto简化别名
  4. 拓展:尾置类型结合 decltype 使用


    示例代码:
#include<iostream>
#include<vector>
#include<unordered_map>//const char* getName() {
//std::string getName() {
//C++ 11 尾置返回类型(trailing return type)
//其中 auto 是一个占位符,函数名后 -> 紧跟的 const char* 才是真正的返回类型。
auto getName() -> const char* {return "Cherno";
}//基础使用,自动识别类型
void testAuto() {int a = 10;auto b = a;auto c = 5.0f;auto d = 5.0;auto e = 5L;short f = 9;auto g = f;auto h = "Cherno";auto i = 'h';//硬币的两面性,方便,灵活,但也可能引申出使用的问题auto name = getName();std::cout << name << std::endl;
}//简化iterator繁长、冗余类型名称的使用
void testAuto2() {std::vector<std::string> strings;strings.reserve(2);strings.emplace_back("Hello");strings.emplace_back("World");//for (std::vector<std::string>::iterator it = strings.begin(); it != strings.end(); it++) {//用auto简写 长变量	for (auto it = strings.begin(); it != strings.end(); it++) {std::cout << *it << std::endl;}
}class Device {};
class DeviceManager {
private:std::unordered_map<std::string, std::vector<Device*>> m_Devices;
public:std::unordered_map<std::string, std::vector<Device*>> GetDevices() {return m_Devices;}
};
//自定义长类型名称的简化
void testAuto3() {DeviceManager dm;//1. 元使用std::unordered_map<std::string, std::vector<Device*>> diveceMap = dm.GetDevices();//2.1 别名:新版本//using DeviceMap = std::unordered_map<std::string, std::vector<Device*>>;//2.2 别名:旧版本typedef std::unordered_map<std::string, std::vector<Device*>> DeviceMap;const DeviceMap& deviceMap2 = dm.GetDevices();//3. auto//一般来讲,基本上是在类型比较庞大,而且出于某种原因不想使用类型定义(例如:为了简化类型而创建别名)的情况才使用autoconst auto& deviceMap3 = dm.GetDevices();
}int main() {testAuto();testAuto2();std::cin.get();
}
http://www.zskr.cn/news/123957.html

相关文章:

  • 2025年十大Starlink星链配件源头工厂推荐 - mypinpai
  • 2025年年终智能客服机器人服务商推荐:基于权威行业报告与效能验证的5家高可靠性服务商深度解析 - 品牌推荐
  • 【赵渝强老师】Docker三剑客
  • 2025 GEO优化服务TOP5权威推荐:解析GEO优化和传统SEO区别 - myqiye
  • 2025年支付公司综合实力TOP5权威榜单:基于牌照含金量、技术专利与行业解决方案深度解析 - 品牌推荐
  • 如何辨别海参品牌的真实力?2025年年终最新市场深度解析及10款可靠品牌推荐! - 品牌推荐
  • 2025 AI搜索公司TOP5权威推荐:AI搜索公司哪家售后好深度测评指南 - myqiye
  • 2025年AI搜索优化解决方案排名,新测评精选AI搜索技术公司推荐 - myqiye
  • 2025年电动卷帘门直销厂家权威推荐榜单:快速卷帘门/伸缩门/自动感应门源头厂家精选 - 品牌推荐官
  • 2025年发泡硅胶定制厂家权威推荐榜单:HT-800发泡硅胶/PE保温棉/箱体密封垫源头厂家精选 - 品牌推荐官
  • 江西省九江市自建房评测排行榜:六家主流企业实地测评,哪家更靠谱? - 苏木2025
  • 紫外老化试验箱使用说明书哪家全?优质厂家盘点 - 品牌推荐大师
  • 2025年特种调节阀领域十大知名厂家盘点,气动三通调节阀/自力式调节阀/气动调节阀/美标调节阀/特种调节阀/调节阀调节阀生产商排行榜 - 品牌推荐师
  • 2025年12月坦克链,无尘坦克链,工程塑料坦克链厂商推荐:聚焦企业综合实力与核心竞争力 - 品牌鉴赏师
  • imgui-python
  • 2025 年辣味零食品牌推荐排行榜:重口味解馋小零食推荐及挑选指南和选购建议 - AIEO
  • 搞懂 Java 中的 VO、BO、PO、DTO、DO
  • 广东程序园科技有限公司深度解析:一家如何以技术驱动重塑酒旅生态的科技企业 - 资讯焦点
  • 告别格式烦恼!Acrobat Pro DC 2024 破解版下载安装一键搞定 PDF 编辑 / 转换 / 签名
  • 2025年12月拖链,电缆拖链,工程拖链公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • 2025-2026北京离婚子女抚养法律服务白皮书:专业律师测评与选择指南 - 老周说教育
  • 2025年五大环保板材品牌权威推荐:从高定奢享到质价比之选的全场景覆盖 - 品牌推荐
  • 全屋定制环保材料公司哪家强?2025年最新市场格局分析与五大核心品牌实力推荐 - 品牌推荐
  • 2025年12月多功能角度头,角度头,万向角度头公司推荐:行业测评与选择指南 - 品牌鉴赏师
  • 2025年十大按需定制橡胶垫厂家排行榜,橡胶垫大型厂家与ODM厂家新测评推荐 - myqiye
  • 苏州固函封口机:14年自动化设备制造商解决方案 - 资讯焦点
  • 2025年怎样选优质橡胶板厂家?靠谱专业橡胶板厂家推荐 - 工业品牌热点
  • 基于MATLAB的音频信号AM调制与解调实现
  • 2025年光伏板回收高温热解炉渠道推荐,热解炉认证厂家与设备公司测评榜单 - mypinpai
  • 2025年质量好的成都移动住人集装箱厂家实力推荐榜 - 朴素的承诺