在编译器只认识.c(.cpp)文件的年代,人们发现很多.c(.cpp)文件中的声明语句是相同的,但需要重复地敲入每个文件中,导致维护困难。为了解决这个问题,人们将重复的部分提取出来放在一个新文件中,即“头文件”,通常使用.h扩展名。这...
假设有个泛型类如上,在使用该泛型类时,我们通过实例化该泛型类对象去指定具体的类型来替换泛型参数。
在前端中,有一些特殊的符号和操作符可以帮助我们更优雅、更简洁地处理代码。其中,??(空值合并运算符)、?.(可选链运算符)和 !(非空断言操作符)就是非常实用的几个。...
当在函数的内部中返回一个局部的类对象时,是怎么返回对象的值的?请看下面的代码片段:
在Rust源代码中,rust/compiler/rustc_lint/src/invalid_from_utf8.rs这个文件的作用是定义了一个lint(即一种静态代码分析工具)来检查使用std::string::from_utf8函数时潜在的错误。...
PIMPL是pointer to implementation的缩写,意指指向实现的指针,是一种广泛使用的减少编译依赖性的技术。
rust/compiler/rustc_lint/src/drop_forget_useless.rs 这个文件的作用是实现了一个编译器 lint(代码风格检查工具) 记为 "drop_forget_useless",用于检查并提醒开发者潜在的无效使用 Drop trait 和 mem::forget 函数的...
空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。
在Rust的编译器源代码中,rust/compiler/rustc_borrowck/src/diagnostics/find_all_local_uses.rs文件的作用是为了在借用检查期间找到特定局部变量的所有使用。
在Rust编译器源代码中,rust/compiler/rustc_hir_analysis/src/astconv/generics.rs文件的作用是处理泛型参数的转换和分析。