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

编程语言「描述符」漫谈——以C++与Rust为例的行为声明与类型描述

编程语言中有三种描述符:

  • 声明符: 表示一种动作, 比如创建变量, 定义函数等等;
  • 说明符: 也就是类型说明符, 表示一种数据类型;
  • 修饰符: 表示动作或类型的属性, 例如不可变……

swift语言就是严格遵循这些描述符的, 例如, @objc是修饰符 , 表示编译成OC兼容函数, func 是声明符, 表示声明一个函数, Int是说明符, 表示整数类型.

但是在c++中, 声明符往往是隐含的、省略的, 例如, 定义函数时:

int32_t  Sum(int32_t a, int32_t b){return a+b;
}

这里并不需要用“func”来告诉读者, 这里要进行一个函数的声明.
又如, 定义变量时,

const int a;

这里的修饰符const和说明符int是混在一起用的. 这里其实缺失了一个声明符,来告诉读者这句代码是在声明一个变量.

但其他语言, 例如rust语言中, 就会用「let」声明符, 表示当前语句是在进行变量声明.
例如, 下述语句表示定义一个可变变量(mut表示可变的, rust中默认是不可变的).

let mut val1: i32 = 1; 

rust语言中的函数声明, 则首先要用一个「fn」表示声明的是一个函数, 参数的类型则在参数名的后面, 由一个冒号+类型表示, 例如下式:

fn sum(a: i32, b:i32)->i32{a+b
}

看起来也是非常一目了然的.

http://www.lryc.cn/news/409366.html

相关文章:

  • 电脑屏幕录制软件哪个好?推荐3款,满足各种录制需求
  • 大模型学习应用 1:用 itrex 创新高效实现 LLM 的部署和微调
  • 【Android】碎片—动态添加、创建Fragment生命周期、通信
  • 前端 SSE 长连接
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • Python酷库之旅-第三方库Pandas(051)
  • linux timestamp
  • Vue.js 搭建大屏可视化项目
  • Linux:进程信号(二.信号的保存与处理、递达、volatile关键字、SIGCHLD信号)
  • 最值得推荐的5个AI大模型API
  • PyTest+Allure生成测试报告
  • ROS2教程(10) - 编写接收程序、添加frame - Linux
  • Arraylist与LinkedList的区别
  • Nestjs使用Redis的最佳实践
  • Cadence23学习笔记(十四)
  • socket 编程
  • 如何使用 HTTPie 进行高效的 HTTP 请求
  • Lingo求解器百度云下载 ling 8.0/lingo 18安装包资源分享
  • 文献综述如何为研究的理论框架做出贡献
  • FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
  • 【赛事推荐】2024中国高校计算机大赛人工智能创意赛
  • C++沉思:预处理和编译
  • 交通数据处理-计算途径某些路段的车辆数
  • 从0到1入门系列 | 崖山公开课再加码,三小时带你入门崖山数据库!
  • Powershell自定义带参数的别名
  • 文件操作相关的精讲
  • 05 循环神经网络
  • C#初级——条件判断语句、循环语句和运算符
  • Laravel路由模型绑定:简化依赖注入的艺术
  • 【vue前端项目实战案例】之Vue仿饿了么App