社区
C++ 语言
帖子详情
一个关于全局指针的问题啊,注意!菜鸟勿进!!!
xiaogang_1
2008-05-29 04:08:01
假如我有Class a这个类,我在 a.cpp里 定义一个a类型的全局指针, a* pa = NULL;然后我在a的构造函数中 pa = this;
再在b类中使用pa. extern a* pa; 利用pa来访问a类里的成员函数,结果发现a类里的vector<CPoint> pt.为空,
但是在a类里访问时,它不为空,以前我遇到过一次这种问题,将一个成员变量在构造函数里初始化后,就没事了,这次我把所有的变量都进行了初始化,可是还是不行!
...全文
257
30
打赏
收藏
一个关于全局指针的问题啊,注意!菜鸟勿进!!!
假如我有Class a这个类,我在 a.cpp里 定义一个a类型的全局指针, a* pa = NULL;然后我在a的构造函数中 pa = this; 再在b类中使用pa. extern a* pa; 利用pa来访问a类里的成员函数,结果发现a类里的vector pt.为空, 但是在a类里访问时,它不为空,以前我遇到过一次这种问题,将一个成员变量在构造函数里初始化后,就没事了,这次我把所有的变量都进行了初始化,可是还是不行!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaogang_1
2008-05-30
打赏
举报
回复
[Quote=引用 20 楼 jmulxg 的回复:]
引用 10 楼 xkyx_cn 的回复:
在a的构造函数中 pa = this;
那不是每构造一个a对象,pa都要变?
这的确是一种丑陋的设计方法,应该实例化该类后,再将全局变量指针赋值。
除了全局变量外,你也可以使用引用的方式,来获取class a中成员变量。
[/Quote]
各位前辈啊,你们看看这里啊,他对的很对啊,我的那种方法是丑陋的设计方法,在设计是避免这种方法就可以了啊,我是用另外的一直方法实现我程序里的一个功能的,所以啊,我也没有办法告诉各位前辈,我是怎么实现的啊,
我想只要避免在构造函数里赋值,应该不会出现问题的啊!各位前辈请原谅啊!
chenph
2008-05-29
打赏
举报
回复
我不是高手,但这里不乏高手,看到lz的口气没几个愿意给你解答.友情提醒.
帅得不敢出门
2008-05-29
打赏
举报
回复
[Quote=引用 26 楼 leelittlelong 的回复:]
解决了也不说说是咋解决的。晕。
[/Quote]
楼主不厚道
xiaogang_1
2008-05-29
打赏
举报
回复
哈哈,我都结贴了啊,我是用另外的一种方法解决的啊
leelittlelong
2008-05-29
打赏
举报
回复
解决了也不说说是咋解决的。晕。
qmm161
2008-05-29
打赏
举报
回复
我是菜鸟,不过我很好奇是为什么
dwen20
2008-05-29
打赏
举报
回复
昏,从1楼看下来,猜了一遍,现在说解决了,啥都没有看到。
snailman
2008-05-29
打赏
举报
回复
哎,我是菜鸟,期待高手~! -_-!!
xiaogang_1
2008-05-29
打赏
举报
回复
谢谢各位前辈了,问题,我已经解决了,
9527-
2008-05-29
打赏
举报
回复
看不到代码,大家只能瞎猜,就像15楼说的在做黑盒测试
jmulxg
2008-05-29
打赏
举报
回复
[Quote=引用 10 楼 xkyx_cn 的回复:]
在a的构造函数中 pa = this;
那不是每构造一个a对象,pa都要变?
[/Quote]
这的确是一种丑陋的设计方法,应该实例化该类后,再将全局变量指针赋值。
除了全局变量外,你也可以使用引用的方式,来获取class a中成员变量。
MagiSu
2008-05-29
打赏
举报
回复
不帖代码无法判断,按照楼主的说法,这种结果是不可能的。
cwc270
2008-05-29
打赏
举报
回复
[Quote=引用 10 楼 xkyx_cn 的回复:]
在a的构造函数中 pa = this;
那不是每构造一个a对象,pa都要变?
[/Quote]
我觉得10楼说的,有可能是造成问题原因所在。楼主确定只创建过一个a类的实例??!!
xiaogang_1
2008-05-29
打赏
举报
回复
[Quote=引用 11 楼 fetag 的回复:]
请楼主别再消息我了,我对菜鸟问题不敢兴趣!
至于我是不是菜鸟,随你怎么想,冲你这个标题,我就是不回你!爱咋咋地...
[/Quote]
哈哈,假如你不是菜鸟,我是菜鸟,您作为前辈的,指导指导晚辈就不行吗?难道就这么吝啬吗?
中国的程序员高手,难道就是这样让晚辈们去学习吗?我相信,中国的程序员高手不是你这个样子的!菜鸟也不会有你这个样子的!
matrixdwy
2008-05-29
打赏
举报
回复
可能你没有include
xkyx_cn
2008-05-29
打赏
举报
回复
不贴全部代码,好歹也贴下关键代码
不然除了你,大家都像在做黑盒测试一样,只能猜
freefishgis
2008-05-29
打赏
举报
回复
在a类外调用之前应该确保a被实例化过,否则不会执行a的构造函数
xiaogang_1
2008-05-29
打赏
举报
回复
你说的对啊,但我只构造了一个a的实例
babyvox1999
2008-05-29
打赏
举报
回复
你在a类里怎么访问?你确定访问的是同一个对象?你这样做是为了实现单键?
独孤过儿
2008-05-29
打赏
举报
回复
请楼主别再消息我了,我对菜鸟问题不敢兴趣!
至于我是不是菜鸟,随你怎么想,冲你这个标题,我就是不回你!爱咋咋地...
加载更多回复(10)
使用
全局
的
指针
变量
指针
C++之 函数
指针
这几天看cocos2dx开源代码,发现了一些比较生疏的用法,不过很高大上哦。...成员函数函数
指针
—->
全局
函数
指针
<——一般在C++11之前,我们一般是这样定义
一个
函数
指针
类型。typedef void (*pFunc)
c语言返回
指针
变量,C 从函数返回
指针
|
菜鸟
教程
为了做到这点,您必须声明
一个
返回
指针
的函数,如下所示:int * myFunction(){...}另外,C 语言不支持在调用函数时返回局部变量的地址,除非定义局部变量为 static 变量。现在,让我们来看下面的函数,它会生成 10 ...
【转载】关于
全局
变量的一些
注意
事项
总之使用太多
全局
变量容易出现
问题
,下面是我转载一位大佬对
全局
变量的一些理解,特立贴收藏: http://blog.chinaunix.net/uid-20620288-id-3399952.html /****************************************
【C语言】 “函数
指针
”和“
指针
函数” 用法和详解(太细了!!!)
菜鸟
级教程
静态栈使用
一个
数组来存储数据元素,通常分配的空间是固定的,因此在某些情况下,可能会导致栈溢出。静态栈的大小在编译时就已知,这使得它更适合一些特定的应用场景。动态栈是一种栈数据结构,其大小在运行时动态...
C++ 语言
64,266
社区成员
250,463
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章