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

avatar
作者
猴君
阅读量:0

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

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

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 } 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!