基本的概念弄不懂!

zafzap1 2013-04-23 06:46:26


BOOL TextOut( int x, int y, const CString& str );

BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;

然后调用这些函数的时候我就傻了~

CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);

CString str("不知道怎么办");
pDC->TextOut(10,10,str);


什么时候该用&什么时候不该用& 完全弄不懂!
-------------------------
其实TextOut的懂了,第二个也懂吧,就是想到指针就想到了*p,
难道就要这样理解,指针就是个地址~可是对象名不是地址么?为啥还要加个&?
...全文
177 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zafzap1 2013-04-24
  • 打赏
  • 举报
回复
引用 9 楼 yudahai109 的回复:
楼主,你从C直接跳到MFC了?中间没学c++么?
C++我早就学过了
zafzap1 2013-04-24
  • 打赏
  • 举报
回复
引用 6 楼 lrb0000 的回复:
是不是这样啊?
有新工作否 2013-04-24
  • 打赏
  • 举报
回复
楼主,你从C直接跳到MFC了?中间没学c++么?
赵4老师 2013-04-24
  • 打赏
  • 举报
回复
指针即地址 引用即别名
雪人silent 2013-04-23
  • 打赏
  • 举报
回复
zafzap1 2013-04-23
  • 打赏
  • 举报
回复
引用 3 楼 u010422694 的回复:
&是引用,引用就是某一个变量(目标)的别名,对引用的操作就是对变量的直接操作是完全一样的。
我把对象跟对象地址搞混了。tm,&tm。 对于对象tm,它地址是&tm. TextOut( int x, int y, const CString& str );该函数第三个参数是对象tm BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;该函数参数是指针,传递对象地址&tm. 对象tm地址不是tm,是&tm。 我弄明白了
derekrose 2013-04-23
  • 打赏
  • 举报
回复
&是一个很容易混淆的操作符
_树 2013-04-23
  • 打赏
  • 举报
回复
&是引用,引用就是某一个变量(目标)的别名,对引用的操作就是对变量的直接操作是完全一样的。
_树 2013-04-23
  • 打赏
  • 举报
回复
&是引用的意思。
Athenacle_ 2013-04-23
  • 打赏
  • 举报
回复
为什么对象名是个地址阿? TextOut传了个引用,GetTextMetrics传了个指针阿,就这样阿

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧