当前位置: 首页 > news >正文

自学网站开发需要多久外贸软件有用吗

自学网站开发需要多久,外贸软件有用吗,视觉设计官网,网站精神文件建设专栏Effective C 条款03:尽可能使用const核心思想:const 是 C 中强大的语义约束工具,能帮助编译器侦测错误、提高代码可读性、并支持编译器优化。 1. 定义常量 const int MAX_SIZE 100; // 替换宏定义,类型安全 const std::strin…

Effective C++ 条款03:尽可能使用const


核心思想const 是 C++ 中强大的语义约束工具,能帮助编译器侦测错误、提高代码可读性、并支持编译器优化。

1. 定义常量
const int MAX_SIZE = 100;     // 替换宏定义,类型安全
const std::string NAME = "Alice";

2. 修饰指针
  • 指向常量的指针(底层 const

    const char* p = "Hello";  // 数据不可变
    // p[0] = 'X';            // 错误:禁止修改
    p = "World";              // 允许指向新地址
    
  • 常量指针(顶层 const

    char greeting[] = "Hello";
    char* const p = greeting;  // 指针不可变
    p[0] = 'X';                // 允许修改数据
    // p = greeting + 1;      // 错误:禁止修改指针
    

3. 修饰迭代器
std::vector<int> vec{1, 2, 3};
const std::vector<int>::iterator iter = vec.begin(); // 类似 T* const
*iter = 10;        // 允许修改数据
// iter++;          // 错误:迭代器不可移动std::vector<int>::const_iterator cIter = vec.cbegin(); // 类似 const T*
// *cIter = 20;     // 错误:数据不可修改
cIter++;           // 允许移动迭代器

4. 修饰函数参数与返回值
  • 参数:避免意外修改

    void print(const std::vector<int>& data) {// data.push_back(4);  // 错误:const引用禁止修改for (auto num : data) std::cout << num << " ";
    }
    
  • 返回值:防止误操作

    const int getMagicNumber() { return 42; }
    // getMagicNumber() = 0;  // 错误:返回值不可修改
    

5. const 成员函数
  • 核心作用

    • 标记不修改对象状态的成员函数。
    • 允许 const 对象调用。
  • 示例

    class TextBlock {char* pText;
    public:// const版本:供const对象调用const char& operator[](size_t pos) const {return pText[pos];  // 返回const引用}// 非const版本:供普通对象调用char& operator[](size_t pos) {return pText[pos];  // 返回非const引用}
    };void demo() {const TextBlock ctb("World");TextBlock tb("Hello");tb[0] = 'h';      // 正确:调用非const版本// ctb[0] = 'w';   // 错误:调用const版本,返回值不可修改
    }
    

6. mutable 突破 const 限制
class CachedData {
private:mutable int cache;      // 允许const成员函数修改bool cacheValid = false;
public:int getValue() const {if (!cacheValid) {cache = compute();  // 允许修改mutable成员cacheValid = true;}return cache;}int compute() const { /* ... */ }
};

关键总结

  1. 声明常量时优先使用 const 而非 #define
  2. 使用 const 指针/迭代器明确数据或指针的可变性。
  3. 函数参数传递时,对不改动的对象使用 const& 避免拷贝。
  4. 为不修改成员变量的函数添加 const 修饰符。
  5. 当成员变量需要在 const 函数中修改时,使用 mutable

重要提醒

  • const 成员函数的重载:根据调用对象的 const 性自动选择版本。
  • const 对象可调用 const 成员函数(反之不成立)。
http://www.dtcms.com/a/580326.html

相关文章:

  • 查看网站后台登陆地址关于进一步加强网站建设和
  • 国家通建设通网站网站制作价格权威乐云践新
  • 购物网站策划方案杭州网站制作流程
  • 哪个网站做二手叉车回收好删掉wordpress主题
  • 网站设计流程及制作流程外贸网站有哪些推广
  • 织梦保险网站源码电商网站开发的功能
  • 集团网站建设流程吉林智能网站建设企业
  • 网站建设商城网站开发项目分析模板
  • 网站建设温州科目一express网站开发
  • 做网站是用什么软件c 网站开发构想
  • 高端网站制作模板公司logo设计免费生成图片
  • 北海网站建设网网站结构模板
  • wordpress备份网站网站网络营销怎么做
  • 营口旅游网站建设大型菜谱网站建设
  • 专门做童装的网站网站建设合同书简单版
  • 郑州做网站的联系方式wordpress是一个软件吗
  • 能自己在家做网站吗盐城网站建设制作方案
  • 电商类网站有哪些精准营销系统
  • 西湖区商城网站建设怎么查公司名称是否被注册商标
  • 上海建站 seo网站集群建设价格
  • 手机网站 cms太原网站建设推广公司推荐
  • 网站服务器排名网页布局设计技术包括
  • 网站自己做还是用程序wordpress繁体语言包
  • 做网站看什么书猪仔wordpress
  • 购物商场网站开发过程详细说明制作app下载
  • 如何开网站详细步骤com域名类别
  • 做网站的的价位小企业网站建设怎样
  • 网站外链是什么网页打不开了
  • 做交易网站什么开发语言最近时政新闻
  • 找人合伙做网站平台国外服务器域名需要备案吗