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

C++学习笔记 08 const 和 multable

一、const方法

二、指针常量 和常量指针

三、multable

  1. 修饰变量,使可以在常量方法中被修改

  2. 修饰lambada表达式,

#include<iostream>// 标记, lambada表达式中,访问外部变量数据
void mutableLambadaFunction() {int x = 8;// [=] 值传递;[&] 引用传递auto lambadaFunction = [=]() mutable {//auto lambadaFunction = [&]() mutable {x++;//9std::cout << "in: x = " << x << std::endl;};lambadaFunction();//值传递是8,引用传递是9std::cout << "out: x = " << x << std::endl;
}//字符串字面量
int main() {mutableLambadaFunction();std::cin.get();
}

四、代码示例

#include<iostream>class Entity {
private:int x, y;//可修改的变量,保障变量在const方法中可修改mutable int var;
public://我承诺x是不可变的//如果调用此方法的变量被设置成了常量,const是必须的int getX() const {//x = 20; //不被允许var = 30;return x;}//所以,有时候要定义2个getX方法,一个用来给常量调用,一个用来给变量调用int getX() {//x = 20; //不被允许return x;}void setX(int x) {this->x = x;}
};//可以改变指针指向,但不能改变指针指向的数据
void printEntity(const Entity* e) {//1.可以重新分配指针,但是不能改变内容e = NULL;e = new Entity();//2. 参数是常量类型,不可以做任何修改//e->setX(20);//3. 虽然我没有直接修改Entity,但是如果我调用了一个可以修改Entity的方法,是不被允许的。//   如果所调用的方法必须保证getX()方法没有定义成const的,是不被允许的std::cout << e->getX() << std::endl;
}//引用并没有指针本身 和 指针指向内容的区别,引用就是对象本身,所以你不能修改这个对象。
void printEntity2(const Entity& e) {//不能重新分配//e = new Entity();std::cout << e.getX() << std::endl;
}void testPrintEntity() {Entity e;printEntity(&e);
}void testConstPointer() {const int MAX_AGE = 90;//常量指针:常量数据的指针,不可以改指针指向数据内容,const int* a = new int;//int const* a = new int;  //等价于 const int* (const 在 * 的左边)*a = 10;a = &MAX_AGE;//指针常量:指针是常量,不可以改指针指向数据内容,int* const b = new int;*b = 20;b = &MAX_AGE;std::cout << *a << std::endl;
}int main() {testConstPointer();std::cin.get();
}
http://www.jsqmd.com/news/71806/

相关文章:

  • UU跑腿对骑手管理严吗?有没有强制在线时间?揭秘真正的“时间自由”与无压力接单 - 资讯焦点
  • 2025年度武汉印刷公司TOP5权威推荐:破解印刷痛点赋能品 - mypinpai
  • 2025上海出国留学中介哪家靠谱 - 留学机构评审官
  • 2025上海留学机构排行榜 - 留学机构评审官
  • C++学习笔记 07 字符串
  • 上海10大留学机构实力排名 - 留学机构评审官
  • 2025年北京ISO认证咨询服务排行榜,看哪家专业可靠? - myqiye
  • 苏州威沃邦胶粘科技有限公司的规模怎样?研发能力强吗? - 工业品牌热点
  • 内外网文件交换系统推荐与应用指南
  • java 十年 工作当中犯的错误
  • expdp用户级别导出导入
  • 企业知识管理的革命:PandaWiki如何用AI重构你的知识资产
  • 2025上海比较好的留学机构有哪些 - 留学机构评审官
  • 跨网文件安全交换系统排名解析,中大型企业复杂场景适配指南
  • 【2025-12-10】最大投资
  • 陶瓷纤维马弗炉哪家性价比高?性能出众、可定制且售后靠谱的厂家盘点 - 品牌推荐大师1
  • 槟榔分切机哪个厂家好?槟榔切籽机哪家质量好?推荐晨星机械 - 品牌推荐大师
  • node-sass安装包错处理:npm install --ignore-scripts
  • 2025上海比较好的留学机构排名榜单 - 留学机构评审官
  • 2025上海出国留学中介哪家好 - 留学机构评审官
  • 2025上海留学机构排行 - 留学机构评审官
  • 2025上海留学中介都有哪些地方呢 - 留学机构评审官
  • 2025上海留学中介排名前十有哪家 - 留学机构评审官
  • 2025年年终消防水带厂家推荐:整合用户口碑与长期服役案例的5家实力厂家深度评测 - 十大品牌推荐
  • C++学习笔记 06 数组
  • 在河北唐山市曹妃甸区老家农村盖房子,自建房公司哪家靠谱?曹妃甸区自建房公司实用选择指南 - 苏木2025
  • 武汉水泥砖优质厂家排名(2025最新版),专业的水泥砖源头厂家哪家靠谱鑫俊熙市场认可度高 - 品牌推荐师
  • 2025年长三角五大卡牌印刷定制公司推荐:上海万通卡牌印刷工 - mypinpai
  • 2025年五大数控UG编程培训学校排名,学好UG编程/4轴U - myqiye
  • 2025-2026年表界面张力仪/泡压法张力仪/气泡压力张力仪排行榜,推荐市面上主要品牌及优质厂家 - 品牌推荐大师1