博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rust按值传递
阅读量:6693 次
发布时间:2019-06-25

本文共 658 字,大约阅读时间需要 2 分钟。

hot3.png

struct User {	age: i32,	nick: String,}impl User {	fn new(age: i32, nick: String) -> User {		User{age: age,  nick: nick}	}		fn setAge(&mut self, age: i32) {		self.age = age;	}	fn printInfo(&self) {		println!("My name is: {}, my age is: {}.", self.nick, self.age);	}}fn main() {	let mut jim = User::new(99, "jim".to_string());	jim.printInfo();	let jimPtr = &mut jim as *mut User;	unsafe {		(*jimPtr).setAge(100);	}	jim.printInfo();    //这里是按值传递,下面会证明	let jimCopy = jim;	jimCopy.printInfo();	unsafe {		(*jimPtr).setAge(200);	}    //上面的一行代码其实已经把年龄修改成了200,但是这里打印还是100,说明let jimCopy=jim;是按值传递	jimCopy.printInfo();}

 

转载于:https://my.oschina.net/netflasher/blog/741982

你可能感兴趣的文章
MyEclipse快捷键及经验总结 绝对的有用 太给力了
查看>>
139/140. Word Break II/377. Combination Sum IV--back tracking +Memoization
查看>>
现实世界的Windows Azure:采访圣地亚哥公共安全小组的技术经理Adrian Gonzalez
查看>>
监听RecyclerView滑动到末端
查看>>
PHP DB 数据库连接类
查看>>
架构阅读笔记10
查看>>
CSS(三)
查看>>
冲刺周期二第五天
查看>>
CSS常用技巧(1)——布局类
查看>>
linux 链接的使用 创建和删除符号连接
查看>>
COGS2642 / Bzoj4590 [Shoi2015]自动刷题机
查看>>
Oracle 分区表中索引失效
查看>>
mysql查询正在执行的进程
查看>>
2016年
查看>>
es6 入坑笔记(一)---let,const,解构,字符串模板
查看>>
pictureBox绑定Base64字符串
查看>>
二、Shell 变量
查看>>
12、SpringBoot-CRUD增加数据
查看>>
5、NIO--通道的数据传输
查看>>
15、设计模式-行为型模式-职责链模式
查看>>