深入理解类型限定符:immutable与const的应用与特性
1. 类型限定符概述
类型限定符能够捕获语言中类型的重要断言,这些断言对程序员和编译器都非常有用,但难以通过常规约定、常规子类型化或类型参数化来实现。常见的类型限定符如 const ,由C语言引入并在C++中得到完善。当 const 附加到类型 T 时,表示 T 值可以初始化和读取,但不能写入,编译器会确保这一断言得到遵守。例如:
// C标准函数
int printf(const char * format, ...);
此函数保证不会修改 format 参数中的字符,这种保证在大规模开发中很有用,可减少非模块化突变带来的依赖。
有三种类型限定符:
- const :表示上下文不可变性,当前代码不能直接修改 const 限定类型的值,但程序中的其他实体可能有写入权限。
- immutable :表示绝对的、上下文相关的不可变性,一旦初始化,程序中的任何代码都不能更改该值。
- shared :表示跨线程的值共享。
这里主要关注 const 和 immutable 。
超级会员免费看
订阅专栏 解锁全文
475

被折叠的 条评论
为什么被折叠?



