首页 > 编程语言 >c++11关键字

c++11关键字

时间:2023-09-03 17:57:44浏览次数:33  
标签:11 decltype 括号 c++ 关键字 类型 var expression

decltype关键字:查询关键字的数据类型

# 语法: decltype(expression) var;
1)如果expression是没有用括号括起来的标识符(不包括decltype本身的括号,则var的类型与该标识符的类型相同,包括const等限定符,注意如果返回值为引用时需要先初始化
2)如果expression是函数调用,则var的类型与函数的返回值类型相同(函数不能返回void,但可以返回void,注意:参数为函数名()得到的是函数返回值,没有括号得到的是函数类型
3) 如果expression是左值 (能取地址)、或者用括号括起来的标识符,那么var的类型是expression的引用。
例:decltype((a)) var=a;或decltype(++a) var=a;//引用需要先初始化
4)如果上面的条件都不满足,则var的类型与expression的类型相同。

 

标签:11,decltype,括号,c++,关键字,类型,var,expression
From: https://www.cnblogs.com/ddrm/p/17675265.html

相关文章

  • Google C++编程规范(Google C++ Style Guide)
    参考链接:Google代码规范C++总结Google开源项目风格指南——中文版GoogleC++StyleGuide是一份不错的C++编码指南,我制作了一张比较全面的说明图,可以在短时间内快速掌握规范的重点内容。不过规范毕竟是人定的,记得活学活用。看图前别忘了阅读下面两条重要建议:保持一致也......
  • C/C++ const关键字 解读
    Thecollocationbetweenconstandoriginalpointerisconfusedtomanypeople.Therearetwousagesofit.Thefirstoneisavariablepointerthatpointsaconstantdata.i.e.constint*p#include<iostream>intmain(){ inta=1,b=2; const......
  • 「突刺贯穿第二分块」P4117 [Ynoi2018] 五彩斑斓的世界
    很帅气!分块在线转离线,考虑每个块对于询问的贡献。维护块的max和tag分别代表最大值和减了多少。先考虑整块,\(max<2*x:\)每次暴力区间平移即可。否则对于\([1,x]\)全部加上\(x\)平移到\([x+1,x*2]\),然后区间整体减\(x\)即可。散块怎么做?暴力减,然后重构块......
  • 那些年,这些年……2011.12.16
    那些年我还是小屁孩,那些年我什么都不懂,那些年学习只是件有点兴趣的事,从没有想过为什么要学习,那些年刚刚听的流行歌曲是老鼠爱大米和一千年以后,那些年对于感情什么都不懂,也许早点懂或许能骗骗小女孩什么的,那些年母亲管我很严格,那些我很瘦说真的,那些年似乎我很优秀,那些年第一次......
  • C++算法之旅、05 基础篇 | 第二章 数据结构
    常用代码模板2——数据结构-AcWing笔试用数组模拟而不是结构体使用结构体指针,newNode()非常慢,创建10万个节点就超时了,做笔试题不会用这种方式(优化是提前初始化好数组,但这样跟数组模拟没区别了,而且代码量很长)单链表(数组)使用两个数组,e存储val,ne存储next。空节点next用-1表......
  • 《C++并发编程实战》读书笔记(2):线程间共享数据
    1、使用互斥量在C++中,我们通过构造std::mutex的实例来创建互斥量,调用成员函数lock()对其加锁,调用unlock()解锁。但通常更推荐的做法是使用标准库提供的类模板std::lock_guard<>,它针对互斥量实现了RAII手法:在构造时给互斥量加锁,析构时解锁。两个类都在头文件<mutex>里声明。std::......
  • 11种常用滤波算法程序
    来源:嵌入式情报局一、限幅滤波法(程序判断滤波法)1/*2A、名称:限幅滤波法(又称程序判断滤波法)3B、方法:4根据经验判断,确定两次采样允许的最大偏差值(设为A),5每次检测到新值时判断:6如果本次值与上次值之差<=A,则本次值有效,7如果本次值与上次值之差>......
  • win11右键显示更多选项怎么关闭?
    win11右键显示更多选项怎么关闭?在新的Win11操作系统之中,微软为了美化界面,将右键菜单进行了整合更改,但是实用性却大幅度下降,引起了很多用户的反感,并迫切希望能够将Win11显示更多选项这个反人类的设置恢复成Win10的状态。如果恰巧您也有相同的需求,那么请您不要错过以下内容。......
  • ORACLE 11.2.0.4 RAC Cluster not starting cssd with Cannot get GPnP profile
       最近,处理一次oracle11.2.0.4raccluster由于cssd无法启动,导致集群一个节点的CRS集群无法正常启动的故障。原本,计划变更是从ASM剔除磁盘,解除存储到数据库服务器的映射;磁盘已经成功从ASM剔除,也已经成功从存储解除到操作系统的映射,为了验证磁盘剔除是否对集群有影响,重启了......
  • msvc++中的预编译头文件pch.hpp和stdafx.h
    预编译头文件在VisualStudio中创建新项目时,会在项目中添加一个名为pch.h的“预编译标头文件”。(在VisualStudio2017及更高版本中,该文件名为stdafx.h)此文件的目的是加快生成过程。应在此处包含任何稳定的标头文件,例如标准库标头(如)。预编译标头仅在它或它包含的任何......