编程语言「描述符」漫谈——以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
}

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

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steptoward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值