当前位置: 首页 > 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.zskr.cn/news/82337.html

相关文章:

  • 2025年度武汉印刷公司TOP5权威推荐:破解印刷痛点赋能品 - mypinpai
  • 上海10大留学机构实力排名 - 留学机构评审官
  • 2025年北京ISO认证咨询服务排行榜,看哪家专业可靠? - myqiye
  • 【2025-12-10】最大投资
  • 陶瓷纤维马弗炉哪家性价比高?性能出众、可定制且售后靠谱的厂家盘点 - 品牌推荐大师1
  • 2025上海出国留学中介哪家好 - 留学机构评审官
  • 2025上海留学机构排行 - 留学机构评审官
  • 2025上海留学中介都有哪些地方呢 - 留学机构评审官
  • 2025年年终消防水带厂家推荐:整合用户口碑与长期服役案例的5家实力厂家深度评测 - 十大品牌推荐
  • C++学习笔记 06 数组
  • 2025年长三角五大卡牌印刷定制公司推荐:上海万通卡牌印刷工 - mypinpai
  • UEFI 随笔 009 — 在 UEFI Shell 下使用 USB 盘
  • 2025年北京ISO认证权威机构排名:ISO认证来样服务机构 - 工业品牌热点
  • 如何筛选真正懂业务的山东AI公司?2025年年终基于市场实证的深度评估与5家推荐! - 十大品牌推荐
  • 2025年杭州艺术学校相关画室五大推荐,录取分数线/新校区/ - mypinpai
  • 2025年国内靠谱化肥专用管公司推荐:有实力的6479化肥专 - 工业品牌热点
  • 2025年12月电容厂家推荐:行业权威盘点与品质红榜发布​ - 品牌鉴赏师
  • 2025年少管所特训学校排行推荐,专业青少年成长护航机构全解 - 工业推荐榜
  • 东光县农村自建房找谁好?河北沧州东光县自建房公司 / 机构深度评测口碑推荐榜 - 苏木2025
  • 风险管理
  • C++学习笔记 04 构造函数 和 析构函数
  • 2025年不锈钢螺母厂家推荐榜单:不锈钢螺丝‌/四方螺母‌/六角焊接螺母源头厂家精选 - 品牌推荐官
  • 【ACM出版 | EI检索】第五届大数据经济与数字化管理国际学术会议(BDEDM 2026)
  • 必看!2025年广东制冷量优质驻车空调品牌推荐 - 讯息观点
  • 2025年国内全自动粘钉一体机厂家权威推荐榜单,目前专业的全自动粘钉一体机公司哪家好优质品牌榜单更新 - 品牌推荐师
  • LINUX设备树
  • 2025年小型风力发电机厂家权威推荐榜单:微风发电/垂直轴风机发电机/太阳能发电系统源头厂家精选 - 品牌推荐官
  • 洗衣液品牌方会协助开发线下渠道吗?新手代理商必看真相 - 速递信息
  • 机器学习解析新闻引语:从定义到实体识别
  • 企业选对大旋风喷涂设备厂家指南:四川辉鑫机械是优选 - 朴素的承诺