首页 > 其他分享 >auto 和 decltype

auto 和 decltype

时间:2023-12-03 16:35:39浏览次数:23  
标签:decltype 推导 int auto 类型 表达式

autodecltype都是C++11中引入的关键字,用于自动类型推导,但它们的工作方式有所不同。

  • auto关键字可以让编译器自动推断变量的类型,使代码更加简洁、易读4。例如:
auto a = 42; // a的类型被推断为int
auto s = "hello"; // s的类型被推断为const char*

但是,auto有时候会改变表达式的原始类型,例如,当表达式的类型为引用时,auto会抛弃引用类型,直接推导出它的原始类型2

  • decltype关键字可以从表达式中推断出表达式的类型,而不需要实际执行该表达式4。例如:
int x = 0;
decltype(x) y; // y的类型被推断为int

decltype会保留表达式的任何类型,包括引用类型和const限定符2

总的来说,autodecltype都可以用于自动类型推导,但它们的适用场景和行为有所不同。在实际编程中,选择使用哪一个取决于具体的需求。

二者都是在编译器进行类型推导的。

 

标签:decltype,推导,int,auto,类型,表达式
From: https://www.cnblogs.com/whcjob/p/17873328.html

相关文章

  • hive启动出现Either your MetaData is incorrect, or you need to enable "datanucleu
    hive启动出现:Requiredtablemissing:"`VERSION`"inCatalog""Schema"".DataNucleusrequiresthistabletoperformitspersistenceoperations.EitheryourMetaDataisincorrect,oryouneedtoenable"datanucleus.schema......
  • AutoDL 使用记录
    AutoDL使用记录1.租用新实例创建实例需要依次选择:计费方式\(\to\)地区\(\to\)GPU型号与数量\(\to\)主机注意事项:主机ID:一个吉利的机号有助于炼丹成功价格:哪个便宜选哪个最高CUDA版本:影响了后面的环境配置支持网盘:尽量选择支持网盘,后面传数据集会好些镜像......
  • AutoCAD .NET 二次开发(2020版)找到折线上剩余的顶点
    如果一条折线有两个顶点,已对其中一个顶点应用了圆角,则还剩下一个顶点。 如何通过代码找到这些剩余的顶点(可能不止一个)?可通过遍历所有顶点,判断每个点连接的两边的线是否为直线如果都为直线,则为顶点,不是圆角。代码如下:for(inti=1;i<polyline.NumberOfVertices-1;......
  • AutoCAD .NET 二次开发(2020版)选择特定对象另存为新文件
    如果需要从当前模型空间中选择部分图形,直接另存为一个新文件,可用如下方法//spObjectId对象的ID//path保存路径//注意,实际内部使用了ObjectIdCollection对象,一次可以保存多个IDpublicstaticvoidSaveObject(ObjectIdspObjectId,stringpath){varsourceDb=spOb......
  • AutoCAD .NET 二次开发(2020版)在模态窗口中控制窗口的隐藏和显示
    如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互,它会在GetSelection()完成后立即显示对话框,而你的其它代码可能仍在进行中,两者处于异步模式。由于模式对话框很可能在其它代......
  • @Autowired作用在方法上 @autowired注解放在方法上,如果方法没有参数,spring容器会在类
    @Autowired作用在方法上@autowired注解放在方法上,如果方法没有参数,spring容器会在类加载完后执行一次这个方法;如果方法中有参数的话,还会从容器中自动注入这个方法的参数,然后执行一次这个方法。@autowired用于测试的实体类User,并将这个类注入到Spring容器中,为@autowired注解......
  • simulink回调函数在embedded code/autosar的应用
    simulink开发嵌入式方向,在生成的代码中会以注释的形式记录代码生成的时间于模型版本。但编译完成后的可执行文件中并不会存储这些信息,在某些情况下定位问题与确认模型的版本就不容易实现。因此在模型中创建一个全局变量用来存储版本信息,使用回调函数自动填写相关信息。如下图使......
  • 将Autodesk的AutoCAD嵌入WEB网页中在线查看、编辑、审阅DWG文档
    大家都知道猿大师办公助手支持把微软OFFICE和金山WPS可以完美嵌入到浏览器中,并实现在线编辑文档、表格和PPT等功能,但是还有很多人不知道:猿大师还可以把Autodesk的AutoCAD、DWGTrueView、DesignReview等软件嵌入到浏览器网页中,实现dwg、dxf等工程图在线查看、编辑、审阅等。下面......
  • NX二次开发UF_CAM_ask_auto_blank 函数介绍
    文章作者:里海UF_CAM_ask_auto_blankDefinedin:uf_cam.hintUF_CAM_ask_auto_blank(tag_tobject_tag,UF_CAM_blank_geom_type_t*geom_type,doubleoffset[6])overview概述Querythetypeanddataofanautomaticblank.查询自动空白的类型和数据。UFUN例子parameter......
  • nginx负载均衡 报错 “验证视图状态 MAC 失败。如果此应用程序由网络场或群集托管,请确
    在网上搜寻了很久看了很多关于验证视图状态MAC失败的解决方法。大部分人都说是在页里或web.config里加EnableEventValidation="false"EnableViewStateMac="false"ViewStateEncryptionMode="Never"这些属性的设置。但是这并不从根本上解决问题,相反这样做了反而更加不安全。我......