旧事重提——函数的指针传值
来源:互联网 发布:吉卜马淘宝商城旗舰店 编辑:程序博客网 时间:2024/06/06 12:50
最近在忙着整理以前做的项目工程,以前做开发都是用的伪C++(我的叫法,因为不是真正的C++)里面的实现都无可拓展性可言,所以最近忙着整理成C++类的表述方式,方便以后继续在这个项目基础上添加东西。
问题是接二连三,好多看似简单的东东,稍微变一下就只有撞墙了。例如遇到的一个问题——传值
我做的项目是跟图像有关的,所以经常需要将图像指针传来传去,额……没办法,如果在一个类里面去实现估计就没这个必要了,直接将这个指针作为一个成员变量。这样做确实也能实现,没办法,开始构造它的时候没那样想,所以现在只能传来传去了。
例如我想从A类里面取出图像指针 pa, 然后将这个传值给B类,所以我得在B类里面写段代码:
void setimg( T *p)
{
this->_p = p;
}
这样写看似没有问题的,我也测试过多次,然后最终也能够实现预期的目标。不过这样如果我在B类里面做了任何一个 free(p)操作,后果可想而知,会带来大麻烦。这样这个p在B里面就彻底没了。我在B类里面做的只是想对传入的图像进行操作,取出图像中的数据等等……只是处理简单的处理一下图像。最终我的解决方法是复制图像的内容大致如下:
void setimg( T*p)
{
copycontent(p, this->_p); ///对图像的数据信息复制
}
哦,最重要的一点是要记住,如果进行指针传值一定要记住它来自哪里,它将在什么地方消失!如果不知道它将在哪里消失,千万不要再中途让它被消失了。
- 旧事重提——函数的指针传值
- 旧事重提-指针数组/指针的指针
- 旧事重提——const变量的存储区及修改权限
- 旧事重提——const变量的存储区及修改权限
- 旧事重提——行为型设计模式总结一
- 对于数组指针—指针数组;函数指针—函数指针数组,指向函数指针数组的指针,的理解
- C——函数指针和指针函数的区别
- 指针—指向函数的指针实例 fun函数
- 函数指针,指针函数,返回值为指针的函数
- 函数指针——typedef函数指针
- 深入理解指针—>指针函数与函数指针的区别
- 指向函数的指针——指向函数的指针作为函数的形参
- c#中分割字符串的几种方法(旧事重提)
- 函数的返回值是函数指针的指针函数
- 返回值为指针的函数——学生成绩单
- 指向函数的指针—基本概念
- 指向函数的指针—应用场景
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- Qt 插件系统
- VirtualHost Examples - Apache HTTP Server
- Weblogic 精萃
- C++的可移植性和跨平台开发[6]:多线程
- SGU 171 Sarov zones【贪心】
- 旧事重提——函数的指针传值
- 相约世纪末
- COM编程入门:第一部分 什么是COM,如何使用COM
- boost asio 需要使用智能指针而不能使用普通指针的原因
- android 横竖屏等设置
- Flash - textarea组件的背景边框设置
- Deverpress之TreeList、Grid
- Android禁止横屏竖屏切换
- linux下的g++编译器安装