首页 > 其他分享 >Rust static 和 const

Rust static 和 const

时间:2023-02-21 19:46:57浏览次数:31  
标签:const 常量 编译器 static 全局变量 Rust

static

Rust 中可以使用 static 声明全局变量,它的声明周期是整个程序,永远是 'static,它占用的内存空间也不会在执行过程中回收。

  • 全局变量必须在声明的时候马上初始化
  • 全局变量的初始化必须是编译器可确定的常量
  • 使用 mut 修饰的全局变量,在更改的时候必须使用 unsafe 关键字。

const

使用 const 声明的是常量,所以不能使用 mut 进行修饰,常量的初始化表达式也一定要是一个编译器常量。它与 static 变量最大的区别是:编译器并不一定会给 const 常量分配内存空间,在编译过程中,它很可能会被内联优化。

标签:const,常量,编译器,static,全局变量,Rust
From: https://www.cnblogs.com/gcvition/p/17142158.html

相关文章

  • static
    C++中的类成员声明static函数体内static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;在模块内的static全局变量可以被模块内......
  • rust学习笔记
    目录rust学习笔记基础类型FundamentalTypes定宽数字类型rust学习笔记这学期选了一门rust课,今年上半年呢,由PKU精英团队打造的rust内核zroj就要正式上线了,请大家多多支持......
  • Rust Format 格式
    fnmain(){println!("{}",1);//默认用法,打印Displayprintln!("{:o}",9);//八进制println!("{:x}",255);//十六进制小写println!("{:X}",......
  • C++学习-const
    1,定义常量​ A,const与#define的区别:​ a,const常量具有类型,编译器可以进行安全检查,#define没有类型,只是简单替换字符串​ b,const只能定义整数或枚举的常量2,const......
  • const static
    C++中const和static的作用static:不考虑类的情况隐藏。不加static的全局变量和函数具有全局可见性,可以在其他文件中使用,加了之后只能在该文件所在的编译模块中使用默......
  • define宏定义和const
    编译阶段define是在编译的预处理阶段起作用,类似于代码插入const是在编译、运行的时候起作用安全性:define只做替换,不做类型检查和计算,也不求解,容易产生错误const常......
  • 性能提升 40 倍!我们用 Rust 重写了自己的项目
    前言Rust已经悄然成为了最受欢迎的编程语言之一。作为一门新兴底层系统语言,Rust拥有着内存安全性机制、接近于C/C++语言的性能优势、出色的开发者社区和体验出色的文......
  • 文盘Rust -- 本地库引发的依赖冲突
    作者:京东科技贾世闻问题描述clickhouse的原生rust客户端目前比较好的有两个clickhouse-rs和clickhouse.rs。clickhouse-rs是tcp连接;clickhouse.rs是http连......
  • Linux、Rust、C++学习笔记(day1)
    序言从今天开始以Ubuntu22.04为开发环境,学习Linux、Rust和C++的开发。博文作为个人学习记录和分享,欢迎各位与笔者讨论交流!开发环境搭建我的机器是腾讯云的云服务器。腾......
  • Using Rust with Axum for error handling
    原文:https://blog.logrocket.com/rust-axum-error-handling/Whenyou’rebuildingabackendwebservice,thingsdon’talwaysgoright.Forexample,anincomingr......