文档列表见:Rust 移动端跨平台复杂图形渲染项目开发系列总结(目录)

对于变量声明,Rust默认不可变,需显式加mut关键字才可变。C/C++默认可变,不可变需加const关键字。严格意义上,Rust的let语法属于绑定,和C++的变量声明存在很大区别。 为了降低从C++转Rust的学习难度,有些知识点可以先套用,有更多了解后再深究。

C++示例:

int index = 100;
index = 200; // 编译运行正常
复制代码

Rust示例:

let index = 100;
index = 200; // 编译报错
/********************************************/
// mut表示声明一个可变绑定,之后active_index绑定新值
let mut active_index = 20;
active_index = 30; // 编译运行正常// 加mut才允许后面向matched_names绑定的Vector继续添加元素,否则编译报错
let mut matched_names = Vec::new();
matched_names.push("Mike");
matched_names.push("Michael");
matched_names.push("Jack");{// let的另一种用法:重新绑定,// 允许同一个代码块(block)中存在相同名称的绑定,// 后面的绑定表达式自动遮蔽(Shadowing)前面的同名绑定,// 下面代码是合法的let object = String::from("hello");println!("{}", object);let object = 1000_000_u32;println!("{}", object);
}
复制代码

C++与Rust变量声明的比较相关推荐

  1. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值

    1. 变量声明 要单纯声明一个变量,可以通过 var 关键字,如下所示: var s string 该示例只是声明了一个变量 s,类型为 string,并没有对它进行初始化,所以它的值为 string ...

  2. Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)

    1. 多值赋值 可以一次性声明多个变量,并可以在声明时赋值,而且可以省略类型,但必须遵守一定的规则要求. package main import "fmt"func main() ...

  3. Go 学习笔记(6)— 变量定义、变量声明、变量作用域

    1. 变量定义 Go 语言变量名由字母.数字.下划线组成,其中首个字符不能为数字.声明变量的一般形式是使用 var 关键字: var varName dataType [= value] Go 语言和 ...

  4. javascript变量声明 及作用域

    javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...

  5. 变量声明和定义的区别

    转自:http://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html 我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候 ...

  6. 函数声明和变量声明提升

    var a; // 声明一个变量,标识符为a function a() { // 声明一个函数,标示符也为a } alert(typeof a); 显示的是"function",即 ...

  7. 谈javascript变量声明

    本文同时发表在另一独立博客上http://qingbob.com/blog/%E8%B0%88javascript%E5%8F%98%E9%87%8F%E5%A3%B0%E6%98%8E 这篇文章还是 ...

  8. C++ Primer 5th笔记(2)chapter 2变量和基本类型:变量声明、关键字

    0. 几个零星知识点 . 嵌套作用域:局部变量会覆盖全局变量 . char 在有些机器有符号,有的无符号. . 标识符大小写敏感. 1.变量声明和定义 c++ 将声明和定义分开来. 声明 extern ...

  9. java 成员变量声明顺序_C++核心准则讨论:按照成员声明的顺序定义和初始化成员变量...

    Discussion: Define and initialize member variables in the order of member declaration 讨论:按照成员声明的顺序定义 ...

最新文章

  1. R----plotly包介绍学习
  2. testng入门_单元测试
  3. CSS概念,引入,选择器
  4. discuz二次开发笔记(一)------$_G全解析,discuz_g_PHP教程
  5. 程序员要常做好的几件事
  6. 初学者python笔记(类的装饰器、property方法、元类)
  7. 1.6 开发集合测试集的大小
  8. Devpress.XtraGrid.GridControl.GridView属性
  9. 基于vue+node的校园交流平台
  10. java协程处理IO_并发编程 --进、线程池、协程、IO模型
  11. 上银驱动器使用手册_禾川伺服驱动器说明书
  12. C#解压zip和rar文件
  13. Android科大讯飞TTS语音合成实例详细步骤
  14. 29.【Axure 10 】软件母版功能区域
  15. php汉字转换拼音,php中怎么将中文转换拼音
  16. Greek Gods,Roman Gods and Chinese Gods
  17. vue 管理系统顶部tags浏览历史实现
  18. 意外险、医疗险、重疾险、寿险的主要保障功能和提示
  19. iOS OC 计算代码执行耗时
  20. 转载-Android EventLog含义

热门文章

  1. linux_network
  2. [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
  3. 【安装配置】克隆方式安装Oracle数据库软件
  4. Vue插槽(solt)简单案例
  5. Java练习 SDUT-3338_计算各种图形的周长(接口与多态)
  6. springboot + shiro之登录人数限制、登录判断重定向、session时间设置
  7. tp中url地址大小写问题
  8. PHP第三方登录—OAuth2.0协议
  9. POJ 1080 Human Gene Functions(DP:LCS)
  10. Android学习---通过内容提供者(ContentProvider)操作另外一个应用私有数据库的内容...