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

C++ 科目二 [const_cast]

基础数据类型

const_cast 仅仅是深层拷贝改变,而不是改动之前的值
如果需要使用改动后的值,需要通过指针或者引用来间接使用


const int n = 5;
const string s = "MyString";// cosnt_cast 针对指针,引用,this指针
// const_cast 仅仅是深层拷贝改变,而不是改动之前的值
int *k = const_cast<int *>(&n);
*k = 123;
cout << n << endl;      // 5
cout << *k << endl;     // 123int &kRef = const_cast<int &>(n);
kRef = 456;
cout << n << endl;      // 5
cout << kRef << endl;   // 456

不明确

// 在类的非const成员函数中,this的类型为一般形式,即 A * const;
// 在类的const成员函数,this的类型为:const A * const,即指向常量对象的常量指针。class CTest {
public:mutable int m_ntest;CTest() : m_ntest(2){};void func1(int val) const{// error: invalid conversion from 'const void*' to 'void*' [-fpermissive]// void *p = this;// m_ntest = val;const_cast(CTest *)(this)->m_ntest = val;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI健身体能测试之基于paddlehub实现引体向上计数个数统计
  • C++——内存管理
  • 828华为云征文|部署知识库问答系统 MaxKB
  • Sqlserver常用sql
  • list从0到1的突破
  • Guava中Preconditions校验
  • Android中的冷启动,热启动和温启动
  • 一款自动对杂乱文件进行整理和分类的AI工具--FileNeatAI
  • python之排列组合1
  • RecyclerView的子项长按选择功能
  • Node.js运行环境搭建
  • 苹果CMS海洋CMS那个更容易被百度收录?苹果CMS站群
  • 记录小数点
  • 001 RabbitMQ入门及安装
  • 浏览器插件利器--allWebPluginV2.0.0.20-beta版发布
  • 3.7、@ResponseBody 和 @RestController
  • CSS魔法堂:Absolute Positioning就这个样
  • JavaScript中的对象个人分享
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Logstash 参考指南(目录)
  • node 版本过低
  • Python学习之路16-使用API
  • Redis的resp协议
  • Swift 中的尾递归和蹦床
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 服务器从安装到部署全过程(二)
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • Hibernate主键生成策略及选择
  • ​Python 3 新特性:类型注解
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #define、const、typedef的差别
  • #includecmath
  • #QT项目实战(天气预报)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (27)4.8 习题课
  • (4)STL算法之比较
  • (zhuan) 一些RL的文献(及笔记)
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一一四)第九章编程练习
  • (已解决)什么是vue导航守卫
  • .bashrc在哪里,alias妙用
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Framework .NET Core与 .NET 的区别
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .net通过类组装数据转换为json并且传递给对方接口
  • .stream().map与.stream().flatMap的使用
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)