[C++11]推荐使用auto的场景

推荐使用auto的场景:

1.用于STL的容器遍历。

代码如下:

#include <string>#include <iostream>
#include <map>
using namespace std;int main()
{map<int, string>mp;mp.insert(make_pair(1, "Tom"));mp.insert(make_pair(2, "Mike"));mp.insert(make_pair(3, "Jack"));for (auto it = mp.begin(); it != mp.end(); it++){cout << it->first << " " << it->second << endl;}return 0;
}

测试结果:
在这里插入图片描述

2.用于泛式编程。

在使用模板的时候,很多情况下我们不知道变量应该定义为什么类型,就可以将变量定义为auto。

代码如下:

#include <iostream>
#include <string>
using namespace std;class T1
{
public:static int get(){return 10;}
};class T2
{
public:static string get(){return "hello world";}
};template<typename T,typename P>//不用auto
void func01()
{P ret = T::get();cout << ret << endl;
}template<typename T>//用auto
void func()
{auto ret = T::get();cout << ret << endl;
}int main()
{func<T1>();func<T2>();cout << "------------------------------" << endl;func01<T1, int>();func01<T2, string>();return 0;
}

测试结果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【壹刊】Azure AD 保护的 ASP.NET Core Web API (下)

一&#xff0c;引言上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源&#xff0c;以及在项目中集成Swagger&#xff0c;并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的&#xff1f;本节就接着讲如何在我们的项目中集成 Azure AD 保护我们…

linux aspnet服务器,在Linux中安装ASPNET.Core3.0运行时的示例代码

摘要&#xff1a;# 以下示例适用于x64位runtime v3.0.0mkdir /runtimescd /runtimeswget https://... # 以下示例适用于x64位runtime v3.0.0mkdir /runtimescd /runtimeswget https://download.visualstudio.microsoft.com/download/pr/b0c44e05-b7a1-4221-94ec-a0c0d3a11eed/a…

And Then There Was One POJ - 3517(变形约瑟夫环+规律)

题意&#xff1a; 约瑟夫问题的变式。先指定第m个人必须死&#xff0c;然后每隔k个人死一个。求最后那个死的人的编号是什么。 题目 Let’s play a stone removing game. Initially, n stones are arranged on a circle and numbered 1, …, n clockwise (Figure 1). You a…

明明可以靠技术吃饭,现在却非要出来当编剧!

这是头哥侃码的第199篇原创前不久&#xff0c;有位读者深夜时在后台留言说&#xff1a;“我在某技术大会现场听过你的分享。”“说实话&#xff0c;第一次见你&#xff0c;真的很难想象一幅猛男外表的人竟然会有这样的经历和谈吐&#xff0c;这两点让我很钦佩。”这还不算完&am…

linux不能更改密码,Linux服务器无法更改密码的解决办法--passwd: User not known

上面仅是告知我&#xff0c;这些帐号并没有家目录&#xff0c;由于那些帐号绝大部分都是系统帐号&#xff0c; 确实也不需要家目录的&#xff0c;所以&#xff0c;那是‘正常的错误&#xff01;’,相对应的群组检查可以使用 grpck 这个指令。pwck 确保系统鉴认信息的完整性,pwc…

PowerBIDeskTop报表元数据批量更新(可用于翻译场景)

PowerBI在多国语言场景上有极大的缺陷&#xff0c;原有的Sqlserver的SSAS和Azure的AS模型层翻译功能&#xff0c;在Excel和PowerBIDeskTop客户端上均可完美适配。但到了PowerBI Pro的Service网页端时&#xff0c;竟然不支持。这个问题已经明确是官方给出的答复&#xff0c;起码…

[C++11]decltype在泛型编程中的使用举例

关于decltype的应用多出现在泛型编程中&#xff0c;比如我们编写一个类模板&#xff0c;在里面添加遍历容器的函数&#xff0c;操作如下: 代码如下: #include <iostream> #include <list>using namespace std;template<typename T> class Container { publ…

追了多年的开发框架,你还认识指针吗?

一&#xff1a;背景1. 讲故事高级语言玩多了&#xff0c;可能很多人对指针或者汇编都淡忘了&#xff0c;本篇就和大家聊一聊指针&#xff0c;虽然C#中是不提倡使用的&#xff0c;但你能说指针在C#中不重要吗&#xff1f;你要知道FCL内库中大量的使用指针&#xff0c;如String,E…

linux apt-get 安装 根目录,技术|apt-get 和 apt-cache 命令实例展示

apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具。 apt-get的GUI版本是Synaptic包管理器。本篇中我们会展示apt-get和apt-cache命令的15个不同例子。示例&#xff1a;1 列出所有可用包linuxtechilocalhost:~$ apt-cache pkgnamesaccount-plugin-yahoojpceph-fusedvd…

断!舍!离!

最近颈椎病很严重&#xff0c;各种寻医问药&#xff0c;找各路中西医专家治疗。无奈&#xff0c;一直不见好。每周我都会去一个中医大夫那里做推拿&#xff0c;有一次我抱怨&#xff0c;这个病怎么这么难弄好。大夫笑了笑&#xff0c;说&#xff1a;颈椎病其实是个哲学问题。我…

在鹅厂面试5轮后扑街!微服务架构,我拿什么拯救你!

上周五接到朋友的电话&#xff0c;此前他一路披荆斩棘&#xff0c;离鹅厂Offer大概仅一步之遥。电话一接通我就说了一通让他请客吃饭的话&#xff0c;对面沉默了几秒钟&#xff0c;淡淡地说了句 “我终面没过....” 这让我一时语塞不知如何安慰他。两个中年油腻男硬是打了2小时…

C++实现拓扑排序(vector模拟邻接表存储,栈实现)

代码如下: #include<iostream> #include <vector> #include <string> #include <stack> using namespace std; const int N 10010;int in[N]; vector<int>v[N]; vector<int>printElem;int main() {int n, m;while (cin >> n >&…

如何借助Kubernetes实现持续的业务敏捷性

导语在当今以数字为动力&#xff0c;以客户为中心的世界中&#xff0c;敏捷性已成为组织提高其创建软件的速度、提高响应能力以满足不断变化的客户需求、保持敏捷性以适应变化的关键要素。敏捷不是商品&#xff0c;无法购买或轻易获得。要为组织创造可持续的敏捷性&#xff0c;…

C++实现拓扑排序(邻接表存储,栈实现)

代码如下: #include <iostream> #include <stack> using namespace std; const int N 10010; using vnodeType int; typedef struct Node {int adj;int w;Node *next; }Node;typedef struct Vnode {int indegree;vnodeType v;Node *firstEdge; }Vnode;class Gra…

报复性降薪潮来袭

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份最近不少读者问我&#xff1a;“洋哥&#xff0c;公司要全员降薪了&#xff0c;我该留下还是走呢”。今年的职场环境的确很残酷&#xff0c;不少公司直接破产&#xff0c;还有很多公司开始降薪裁员来保证现金…

[C++11]通过using定义基础类型和函数指针别名

1.定义别名 语法: typedef 旧的类型名 新的类型名; typedef unsigned int uint_t;using 新的类型 旧的类型; using uint_t int ;通过using和typedef的语法格式可以看到二者的使用没有太大的区别&#xff0c;假如我们定义一个函数指针&#xff0c;using的优势就凸显出来了&…

基于 abp vNext 和 .NET Core 开发博客项目

介绍此个人博客项目底层基于 ABP Framework (不完全依赖)搭建项目 和免费开源跨平台的 .NET Core 3.1 开发&#xff0c;可作为 .NET Core 入门项目进行学习&#xff0c;支持各种主流数据库(SqlServer、MySQL、PostgreSql、Sqlite)接入&#xff0c;接口遵循 RESTful API 接口规范…

操作系统习题三

题目&#xff1a; 1.有8个程序段&#xff0c;他们之间的前驱关系如下&#xff0c;试用信号量实现这些程序段之间的同步 2.简述进程同步机制的基本原则。 答&#xff1a;在多道程序环境下&#xff0c;当程序并发执行时&#xff0c;由于资源共享和进程合作&#xff0c;使同处于…

[C++11]函数模板的默认模板参数

在C11中添加了对函数模板默认参数的支持。 代码如下: #include<iostream> using namespace std;template<typename T long ,typename U int > void myTest(T t A,U u B) {cout << "t " << t << " u " << u <…

揭秘!微软 Build 2020 开发者大会将启,邀您共赴线上新旅程

微软热爱的开发者&#xff0c;开发者热爱的新技术微软Build 2020开发者大会大幕将启行业技术大拿云集&#xff0c;全新技术重磅发布一场专属技术爱好者间的技术交流盛宴北京时间5月19日-20日&#xff0c;邀您会面&#xff01;大会年年有&#xff0c;今年何不同&#xff1f;本届…