永发信息网

关于CPtrList 问题。。。求解

答案:1  悬赏:70  手机版
解决时间 2021-05-18 03:11
我有一个结构体保存客户端的SOCKET IP ,每一次ACCETP时候就将其信息保存到CPtrList中,可是我在随后查询 的时候,POSITION pos pos里SOCKET值是不一样,这也是不同的客户端SOCKET,但是他们的IP都是一样的,请问这是为什么。。
最佳答案
//以前遇到差不多的问题,以下的应该可以帮你
用MFC制作的工程由很多文件构成,它不能象一般C++程序那样随意在类外定义全局变量,在这里要想定义能被工程内多个文件共享的全局变量和函数必须用一些特殊方法才行。实际上有多种方法可以实现,这里只介绍两种方法。 ITPUB个人空间`)kS3F1]2z?2e
ITPUB个人空间_ V*J v'xjp d
一、在应用程序类中定义
}!et ~o2aV"u.C0ITPUB个人空间X,Nd4pu @_/}8q1\J
用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量和函数定义为这个类的成员变量和成员函数,就可以实现全局访问了。
Vjg-yqZ7z0
D!T-fJ'n[.Y!?0 从严格意义上讲,这种变量和函数并不是全局的,因为它仍然只是类中的成员,只是由于我们很容易获得CxxxApp类的指针,所以我们可以在文档、视图、对话框以及各种自定义类中访问到它们,达到与全局变量类似的效果。访问时用函数“AfxGetApp()”获得CxxxApp类的指针,用 “AfxGetApp()->成员”访问变量或函数。ITPUB个人空间.|&Q'l TA:JibRF

%Qv y F,Fn0 例:
/_0u.YYd0ITPUB个人空间0K1I f~_
Test.h:(应用程序类头文件)
xt*N}_2~6[8N.y0ITPUB个人空间,n/cx6`p%^q
class CTestApp : public CWinApp
^!o/E@U^O wb R(m h I0{
kY.B3~ i5WFr P0 public:
pm'n7x7q0 int x; //全局变量
%Q vv0~Y n0 int f(int y); //全局函数
'dV6aa[ K3F2QW0R0 …………
_8m&lk$\@"dV0}; ITPUB个人空间)J{-va*_K6|.d/g.YX
ITPUB个人空间_]I!IE&Z
Test.cpp:(应用程序类程序文件)ITPUB个人空间&F8c ` p)E&s.u

/n HnI @0int CTestApp::f(int y) //全局函数定义
R,?h$t H \ ~ ]0{
6g-bFd!Xj,Ent0 y++;
%x4G0I(z2J3}#b@{ |0 return y; ITPUB个人空间B f'\.ab wH%uT(A
}
?9UK@:MD8?~0ITPUB个人空间.KM9u)d4Q g
定义在CTestApp类中的变量和函数可以在其它类中被访问。比如在视图的某函数中要访问变量x和函数f():ITPUB个人空间1@8v SP2]d o

:rq"UTp3k n0void CTestView::xyz()ITPUB个人空间Y-Ar(g"]1l Hh J0d
{ ITPUB个人空间5Ir%yZ(A
CTestApp *app = (CTestApp *)AfxGetApp(); //生成指向应用程序类的指针 ITPUB个人空间3q jiWtpI:q p
app->x = 0; //访问变量x
_(DfeZ O?kq0 int z = app->f(1); //访问函数f() ITPUB个人空间'P!oagg'd
…………ITPUB个人空间U [I LWeN4f$w
}
{ ^.{1Xn%G0s;T0
@w`\G"Y)Y&S0 这样,变量x和函数f()可以视作为全局的。
z/nA jH1m"S|)W0
H~!X-w0N.e6AA"[0 用这种方法实现的全局变量和全局函数虽比较简单,但也有缺点,一是访问不太方便,每次都需要获取应用程序类的指针;再就是把一些与应用程序类本身无关的变量和函数放在里面,使这个类看上
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
崇阳县咸宁益民药店(白沙大楼北)我想知道这个
东方神起QQ头像表情
点样才能留住自己爱的人
我用一张砸蛋卡砸出黄金戒指.大家说我的运气
答政治主观题的时候,什么情况下用“矛盾的普
什么是爱,谁懂?
为什么DNF老是有人发我窗口领礼物?系统不处理
这次大盘能下调吗?会到多少点,谢谢友友
红岗区大庆新信谊药店我想知道这个在什么地方
M2白血病是急性的吗?能不能治好,能活多久?
三国群英传1修改器
丝路英雄 我申请了,但第2次玩,怎么又没了?
河北福利彩票,2009131期开奖号是什么?
经常喝牛奶会发胖吗
为什么我问问积分莫明扣了60多分?
推荐资讯
道琼斯指数对中国有什么影响
诺基亚n86多少钱 行货
金融如何增加收入来源,如何让企业增加收入 40
苏州有学美甲的?
《地下城与勇士》今天维护到几点啊?
高中诗歌鉴赏表达技巧,古诗中的表达技巧有什
黄陂区武汉中国银行业监督管理委员会黄陂办事
诺基亚价钱八百元到九百元的能买部什么样型号
蒲县鸟巢是?
贝壳饰品 网店 代销点
沈丘县周口便民药店(颖河大道北段)地址在哪里
NDS?是什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?