ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
很多编程者要么完全忽略关键字const的作用,要么认为它用处不大。其实不然,关键字const的首要功能是通过类型检查帮助编译器查找程序中(更多)的错误:其次是借助编译器强迫代码符合最初的设计:另外,在设计可复用的代码时关键字const也很重要。 原则1: 关于常量修饰符的含义 例子 char* p="Hello"; // 指针不是常量,指针指向的也不是常量 char const *p="Hello"; // 指针不是常量,指针指向的是常量 char* const p="Hello"; // 指针是常量,指针指向的不是常量 char const * const p="Hello"; // 指针是常量,指针指向的也是常量 说明 “char* p”的意思是:p是一个指针;它指向字符类型。 “char const* p”的意思是:p是一个指针;它指向一个常量;该常量是字符类型。 “char* const p”的意思是:p是一个常量;它是一个指针常量;该常量指针指向字符类型。 “char const* const p”的意思是:p是一个常量;它是一个指针常量;该常量指针指向一个常量;而被指向的常量是字符类型。 原则2: 在设计函数原型时,对那些不可能被修改的参数用常量修饰 说明 此处参数指的是指针或引用类型。 例子 void blockCopy (void* pDest,const void* pSrc,size_t length); 原则3: 不要将常量强制转换成非常量 原则4: 任何变量首选用const 修饰 说明 经过以上的讨论可以看出,先尝试用const修饰是一种明智的选择。 以下规则概述常量的命名指南: 所有单词大写,多个单词之间用 "_" 隔开。 如 public const string PAGE_TITLE = "Welcome";