望各位高人为小弟指点迷津:
问题1:动态联编是否就是滞后联编?
问题2:“消息映射”中的“映射”二字如何理解?
问题3:void f2(void)const;这个函数后的“const"写在后面是什么意思?
问题4:在TC下编写程序使用的C语言函数是API函数吗?问题5:请看下面摘自WWW。VCKBASE。COM的一段话 TrackMouseEvent()怎么了我使用TrackMouseEvent()函数来跟踪鼠标是否已经离开我的窗口,但在MFC中,如果我使用 ::TrackMouseEvent()系统告诉我没有定义,为什么?
1).请使用_TrackMouseEvent
2).在commctrl.h显示为_TrackMouseEvent(),请注意下划线.
3).可能TrackMouseEvent()不支持Win98(在NT中工作得非常好),建议你结合WM_MOUSEMOVE消息和 SetCapture()函数,当鼠标移出窗口时你依然可以控制. 其中“::TrackMouseEvent()”和“_TrackMouseEvent”中的“_”和“::”有什么不同?问题6:如csSet.Format( _T( "New Set %d" ), setCnt++ );这行代码,经常会看到有“_T”出现,到底是什么意思?问题7:
void CReadKeyDoc::Serialize(CArchive& ar)
{
if(ar.IsStoring())
ar<<m_InString;
else ar>>m_InString;
}
在上面代码中CArchive& ar是什么意思?是参数吗?“&”在这里有什么用?单独的“ar”是什么?

解决方案 »

  1.   

    我来试着解答你的问题:
    1.不知道你的滞后联编是什么。动态联编相对于静态联编,就是在运行时刻编入程序。
    2.“映射”可以理解为对照表,对应
    3. const 可以参看任何一本c++书。
    4.C语言函数是国际标准,你说的API可能是指Microsoft API,答案:不是。
    5.“_”和“::”不存在对比关系,_TrackMouseEvent是一个完整的函数名,不能将“_”拿出来,“::"在MFC中表示系统API.
    6. _T是MFC中定义的一个宏,可以作到在不同的字符集系统中产生安全的字符串。
    7.是参数!&是c语言的取址操作符,取得ar 的内存地址。 ar 应该是CArchive 的实例对象。
      

  2.   

    问题2:“消息映射”中的“映射”二字如何理解?
       系统收到一个消息,就调用被影射到这个消息的函数。问题3:void f2(void)const;这个函数后的“const"写在后面是什么意思?
    表示函数返回值一个常量,不可对其做修改。
    问题5:当系统中存在TrackMouseEvent()时,_TrackMouseEvent()调用
    TrackMouseEvent(),不存在TrackMouseEvent()时,_TrackMouseEvent()
    模拟TrackMouseEvent()。6. _T,当你的工程中定义了UNICODE ,则 _T()将产生字符串的UNICODE 格式,
    如果没有定义UNICODE ,则_T没有任何作用。