news 2026/3/25 7:27:02

C++常成员函数和常对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++常成员函数和常对象

1. 常成员函数

  • 常成员函数的意思是:这个类函数内部不能修改类数据成员,如果修改编译报错
  • 常成员函数内部只能调用其他常成员函数,不能调用普通成员函数
  • 常成员函数可以被常对象调用也可以被普通对象调用
  • 参数和返回值类型相同的普通函数和常成员函数可以实现重载,若有重载,普通对象优先调用普通函数,常对象优先调用常成员函数。若仅有常成员函数,那么他既可以被常对象调用也可以被普通对象调用。若仅有普通函数,那么他只能被普通对象调用,不能被常对象调用。
  • 若常成员函数的返回值是类内数据成员的指针或引用,且被普通对象调用,在外部依然可以修改返回值指向的类数据成员。也就是说常成员函数仅仅保证这个函数内部无法修改类数据成员,他不能保证类外部是否修改类数据成员。若想保证类外无法修改类内数据成员,则函数的返回值应该设置为 const 指针或 const 引用,和函数是不是常成员函数没有任何关系。

2. 常对象

  • 常对象必须被初始化,且不能更新
  • 常对象只能调用他的常成员函数,不能调用普通成员函数
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 20:04:39

C++使用rand生成随机数

产生 [0,b] 之间的随机数: rand()*b / RAND_MAX;产生 [-a,0] 之间的随机数: rand()*(-a) / RAND_MAX;产生 [a,b] 之间的随机数: a rand()*(b - a) / RAND_MAX;产生随机整数: v1 rand() % 100; // v1 in the range 0 to 99 v2 rand…

作者头像 李华
网站建设 2026/3/19 13:57:32

大模型系统学习:提示词工程指北

提示词工程(Prompt Engineering)作为大语言模型(Large Language Model,LLM)应用构建的一种方式被简要提及,本文将着重对该技术进行介绍。 提示词工程就是在和LLM聊天时,用来让模型回答得更好的一…

作者头像 李华
网站建设 2026/3/24 16:33:58

基于图神经网络的大规模图数据异常检测实践

图神经网络在大规模图数据异常检测中的实践:从原理到落地的完整指南 关键词 图神经网络(GNN)、大规模图数据、异常检测、图表示学习、社区发现、流式处理、分布式训练 摘要 在社交网络、金融交易、推荐系统等场景中,图数据已成为刻画复杂关系的核心结…

作者头像 李华
网站建设 2026/3/13 15:41:29

LangFlow Iterator迭代器模式遍历节点

LangFlow 中的迭代器模式:让 AI 工作流“动”起来 在构建智能应用时,我们常常需要处理一类典型任务:对一批数据重复执行相同的逻辑。比如,分析100条用户评论的情感倾向、批量生成产品描述、或多轮调用语言模型完成复杂推理。传统做…

作者头像 李华
网站建设 2026/3/26 4:32:00

贪心算法完全指南

贪心算法是一种在每一步选择中都采取当前状态下最优选择的算法策略,期望通过局部最优解达到全局最优解。🎯 贪心算法的核心思想基本概念贪心算法在每个决策点都做出在当前看来最好的选择,不考虑未来后果。这种"短视"的策略在某些情…

作者头像 李华