关于c++出现的易错问题
比如我一个对象,经常操作用的指针ptr,原生指针比如ClassA* ca =;
但是我要保存ca,在另一个地方操作,比如: cb =ca; 这样子是不行的,因为我要操作的是ca,而不是ca的值,为什么呢,因为ca代表这个对象,而&ca,代表的是ca的地址;我用cb可以动态的更换值,来改变不同ClassA对象;
所以这里用了二级指针,Class** cb; cb = &ca; 比如:
{
ClassA* ca = CallFunction(); //
this->cb = &ca; //这个是错误的用法。因为ca超出这个域就会被析构,cb指向了非法的地址,或者已经被释放的内存,造成后续无法访问。正确的写法如后面
}
把CallFunction的返回值改成Class**, 简而言之:避免试用临时变量和指针的地址,这是不对的。
当然如果比较好的办法,是设计解决,多用typedef 或者多封装,避免使用多级指针。不过代码量可能会很多,推荐大工程使用,小工程的话就牢记不要使用临时变量和指针的地址。
关于c++出现的易错问题的更多相关文章
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript 易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...
- Java五道输出易错题解析(避免小错误)
收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...
- 细节!重点!易错点!--面试java基础篇(二)
今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断 ...
- 细节!重点!易错点!--面试java基础篇(一)
今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在ma ...
- [SQLXML]FOR XML语法导出XML的易错之处
原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...
- JavaScript易错点转载
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- PHP数据访问易错点(20161030)
易错点: 1.造对象的时候括号里面的参数 写错了 $db = new MySQLi("localhost","root","789",&qu ...
- 关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)
本文记录一些关于Verilog HDL的一些技巧.易错.易忘点等(主要是语法上),一方面是方便自己忘记语法时进行查阅翻看,另一方面是分享给大家,如果有错的话,希望大家能够评论指出. 关键词: ·技巧篇 ...
- 【经验总结】Java在ACM算法竞赛编程中易错点
一.Java之ACM易错点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非 ...
随机推荐
- 性能优化陷阱之hash真的比strcmp快吗
最近网上冲浪的时候看到有人分享了自己最近一次性能优化的经验.我向来对性能是比较敏感的,所以就点进去看了. 然而我越看越觉得蹊跷,但本着"性能问题和性能优化要靠性能测试做依据",我不 ...
- wpf 双屏显示问题
// 在WPF中处理双屏显示问题,通常需要确保应用程序能够识别两个显示器,并在每个显示器上正确渲染内容.以下是一个简化的示例,展示如何在WPF应用程序中设置窗口,使其跨越两个显示器: using ...
- WPF 不透明蒙板概述
本文内容 先决条件 使用不透明蒙板创建视觉效果 创建不透明蒙板 将渐变用作不透明蒙板 显示另外 4 个 不透明蒙板能够使部分元素或视觉对象透明或部分透明. 要创建不透明蒙版,请将 Brush 应用于元 ...
- ReplayKit 启动录制按钮 RPSystemBroadcastPickerView 的使用
一.RPSystemBroadcastPickerView 介绍 ReplayKit12自从iOS11公布以来,提供了iOS系统级别的录屏能力(也就是录制自身App以外,手机屏幕内容)的能力,有一个非 ...
- c++ Primer Plus 第六版学习记录
立个flag,一天看20页,一个半月看完!!! 第一章 预备知识 高效简洁.面向对象.泛型编程 汇编不具有通用性,换一个处理器可能就要重新写一套! 编译器(是一个程序)负责解决这个问题,把一份高级语言 ...
- RTOS入门
RTOS是什么? RTOS是一款操作系统,相当于Windows\Linux 分为ucos FreeRTOS RT-Thread LiteOS 比裸机开发的优势在于,多任务系统,不必串行 临界区 临界区 ...
- fabric compose文件解读(peer篇)
peer是fabric中的基础单元,主要负责背书,验证交易合法性,保存区块链数据,查询数据.peer与orderer配合完成区块链的全部功能,orderer可以比作是管理员,peer属于是干货的员工, ...
- [吐槽]困扰了1周的API调用失败问题的原因是使用了加密DNS
参考API的官方文档使用postman测试了一下,导入了百度提供的postman环境配置文件,粘贴提供的预处理代码后直接发起请求,响应里提示 "signature is empty" ...
- BOM弹窗 滚动条
// window.alert('弹出内容') 警告框 // window.prompt('弹出内容') 输入框 // 以 字符串 形式 存储输入 ...
- Yolov8和Yolov10的差异以及后处理实现
Yolo模型可分为4个维度的概念 模型版本.数据集.模型变体(Variants).动态/静态模型. Yolo各模型版本进展历史 Yolov(2015年华盛顿大学的 Joseph Redmon 和 Al ...