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

语言的自动类型

编程语言为了方便,会默认建立一套变量默认类型机制。更高级的编程语言或脚本语言为了简化,可能引入自动类型。

  • C/C++98 auto关键字修饰自动存储的局部变量,事实上没有多大用,因为默认的局部变量就是自动存储,用它多此一举,唯一的好处是完善了变量存储种类。C++11修改auto的含义,用于编译器推导变量类型。 更像脚本语言,有编译期保驾护航无需担忧类型错误。当然auto还可以推导函数返回值,可以和指针、const一起使用,这些细节再次不赘述。
  • C++11引入了decltype(<expr>)推导类型,这种方法在STL模板方法类型定义和返回特别有效。比如一个传入参数类型T1和其他类型T2的方法,不知道临时变量和返回值类型,用decltype让编译器推导类型。
  • Java/C#/Go/Rust/JS/Python均有自动类型推导,可能使用或者不使用任何关键字。
  • C语言以前的编译型语言不支持类型推导。
  • ObjC内置类型没有自动推导,但对于对象有id关键字有点自动推导的意思。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • QueryWrapper中的or和and
  • 磁盘加密工具 | VeraCrypt v1.26.15 绿色版
  • STM32基础篇:RTC × Unix时间戳 × BKP
  • [Deepin] 简单使用 RustDesk 实现远程访问Deepin
  • LeetCode 热题100-70 最小栈
  • [数据库][oracle]ORACLE EXP/IMP的使用详解
  • MySQL数据类型-介绍
  • 服务器安装pytorch-阿里云-centos7
  • springboot启动很慢,加载xml时卡住 或者 {dataSource-1} inited卡住 或者 primary数据库配置错误,很久启动不起来
  • PHP + Redis 实现抽奖算法(ThinkPHP5)
  • 145. 利用 Redis Bitmap实践: 用户签到统计
  • 【ArcGIS Pro原理第一期】各种空间插值原理:GPI、LPI、IDW等
  • 七月刚入职字节跳动的测试开发面试题,附答案
  • 【全网最全】《2024高教社杯/国赛》 C题 思路+代码+文献 蒙特卡洛+遗传算法 一到三问 农作物的种植策略
  • Linux系统运行模式以及链接文件
  • 【5+】跨webview多页面 触发事件(二)
  • Debian下无root权限使用Python访问Oracle
  • gcc介绍及安装
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java-详解HashMap
  • java小心机(3)| 浅析finalize()
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vue.js 移动端适配之 vw 解决方案
  • vuex 学习笔记 01
  • 给Prometheus造假数据的方法
  • 区块链共识机制优缺点对比都是什么
  • 项目管理碎碎念系列之一:干系人管理
  • 一文看透浏览器架构
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • # 飞书APP集成平台-数字化落地
  • #Java第九次作业--输入输出流和文件操作
  • #java学习笔记(面向对象)----(未完结)
  • $(selector).each()和$.each()的区别
  • (5)STL算法之复制
  • (rabbitmq的高级特性)消息可靠性
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (转)母版页和相对路径
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • /bin/bash^M: bad interpreter: No such file or directory
  • /etc/skel 目录作用
  • @javax.ws.rs Webservice注解
  • @ModelAttribute 注解
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [Apio2012]dispatching 左偏树
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [bzoj2957]楼房重建
  • [bzoj4240] 有趣的家庭菜园
  • [C++] 容器适配器:深入理解Stack与Queue的底层原理