[C++11]自动类型推导auto

1.auto

C++11中,auto并不代表一种实际的数据类型,只是一个类型声明的"占位符",auto并不是万能的在任意场景下都能够推导出变量的实际类型,使用auto声明的变量必须要进行初始化,以让编译器推导出它的实际类型,在编译时将auto占位符替换成真正的类型。

语法:

auto 变量名 = 变量值;

代码如下:

#include <iostream>
using namespace std;int main()
{auto x = 3.14;// doubleauto y = 520;// intauto z = 'a';// charauto nb;// errorauto double nb1;// 语法错误,不能修改数据类型
}

1.当变量不是指针或者引用类型时,推导的结果中不会保留const,volatile关键字。

2.当变量是指针或者引用类型时,推导的结果中会保留const,volatile关键字。

代码如下:

#include <iostream>
using namespace std;int main()
{int tmp = 110;auto *a = &tmp;//auto -> intauto b = &tmp;//auto -> int*auto &c = tmp;//auto -> intauto d = tmp;// auto ->int//有const修饰int tmp1 = 250;const auto a1 = tmp;// auto -> intauto a2 = a1;/*    auto -> int 当变量不是指针或者引用类型时,推导的结果中不会保留const,volatile关键字。*/const auto & a3 = tmp;//const已经写出来了,就要保留下来,auto -> intauto & a4 = a3;/*a3 -> const int &          auto -> const int 当变量是指针或者引用类型时,推导的结果中会保留const,volatile关键字。*/auto * pt4 = &a1;//pt4 -> const int *   auto ->const int return 0;}

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

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

相关文章

[最全操作指南] 在线六个项目全部迁移Linux

&#xff08;书山有路勤为径&#xff0c;学海无涯苦作舟&#xff09;开源也两年了&#xff0c;没想到自己在宣传.NetCore全栈的时候&#xff0c;也慢慢的做出了几个产品&#xff0c;毕竟也是一行一行的敲出来的&#xff0c;也是一天一夜的改出来的&#xff0c;希望每个人都能在…

操作系统习题——第一章

操作系统习题——第一章 1&#xff0e;设计现代OS的主要目标是什么&#xff1f; 答&#xff1a;&#xff08;1&#xff09;有效性 &#xff08; 2&#xff09;方便性 &#xff08; 3&#xff09;可扩充性 &#xff08; 4&#xff09;开放性 2&#xff0e; OS 的作用可表现在…

linux把svs文件分割,freeebsd,pkg_add,svsup,make改服务器的设定

第一大部分&#xff1a;几个服务器的设定pkg_add默认下载的服务器在哪改。在/etc/csh.cshrc加上setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/All/如果是用PACKAGEROOT,则目录必须符合官方的规定cvsup默认的服务器cvsup -L 2 -h cvsup.freebsd.org /u…

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

推荐使用auto的场景&#xff1a; 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,…

【壹刊】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…

[C++11]decltype类型推导规则

在某些情况下&#xff0c;不需要或者不能定义变量&#xff0c;但是希望得到某种类型&#xff0c;这时候就可以用C11提供的decltype关键字了&#xff0c;它的作用是在编译器编译的时候推导出一个表达式的类型。 语法: decltype (表达式)decltype是"declare type “的缩写…

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;起码…

操作系统习题——(习题二)

操作系统习题——第一章 1&#xff0e; OS 有哪几大特征&#xff1f;其最基本的特征是什么? 答&#xff1a;并发性、共享性、虚拟性和异步性四个基本特征&#xff1b;最基本的特征是并发性和共享性。 2.处理机管理有哪些主要功能&#xff1f; 答&#xff1a;处理机管理的主…

[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…

[PAT乙级]1031 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下&#xff1a; 首先对前17位数字加权求和&#xff0c;权重分配为&#xff1a;{7&#xff0c;9&#xff0c;10&#xff0c;5&#xff0c;8&#xff0c;4&#xff0c;2&#xff0c;1&am…

Long Path CodeForces - 407B(动态规划+思维+公式推导)

题意&#xff1a; 起点为1&#xff0c;终点为n1&#xff0c;对应第i个各点&#xff0c;如果我奇数次到达i点&#xff0c;那么下一步走到a【i】的位子&#xff0c;如果是偶数次到达&#xff0c;那么下一步走到i1的位子。 问从1走到n1一共需要走多少步&#xff1f;结果对1e97取模…

[PAT乙级]1032 挖掘机技术哪家强

为了用事实说明挖掘机技术到底哪家强&#xff0c;PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式&#xff1a; 输入在第 1 行给出不超过 10​5​​ 的正整数 N&#xff0c;即参赛人数。随后 N 行&#xff0c;每行给出一位参赛者的信息…

断!舍!离!

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

linux权限746,linux文件权限学习笔一

linux文件权限学习随笔一linux中&#xff0c;文件权限一直是困扰初学者的难题。但是还必须要把文件权限搞明白&#xff0c;否则你就很难进一步学习linux&#xff0c;因为你听不懂他的说什么&#xff0c;看不懂他的身份&#xff0c;不知道他要做什么。我已经习惯使用windows&…