vc笔记二

来源:互联网 发布:php 面向切面编程 编辑:程序博客网 时间:2024/05/20 06:39

VC中双冒号(::)的含义:

::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
  :: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加:: (来源:http://www.itincn.net/thread-1594-1-1.html)

 

VC中的_T()和_L()的意思:

Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE方式保存。_T和_L的区别在于,_L不管你是以什么方式编译,一律以以 UNICODE方式保存。(来源:http://hi.baidu.com/litertiger/blog/item/42abc5fdcdc08c47d7887d4e.html)

 

 

 VC中的“//{{”符号是什么意思?

  从VC的语法来说,“//”后面的是注释,编译时会被忽略,从语法来说,没有什么意义。实际上在VC++中象“//{{”这样的都是ClassWizard的一些定位标志,如果你错误地修改了,ClassWizard就无法正常工作了。

其他回答: 对于VC++6.0来说,这个“//{{标志的作用大致如下:
    1,用来ClassWinzard的定位
    2,用于告诉VC++6.0这是由VC++自动产生的代码,VC++可以自动在这里加入可以加入的代码,如事件处理,用VC++的工具加入变量,函数等等。
    3,用于区别用用户的/“//”
    这是系统用的标志,如果你不想要VC帮你处理上述的事情你可以删除,但是这样你会有很多的麻烦。请相信了。(来源:http://www.china-askpro.com/msg42/qa30.shtml)

 

 

gcnew  ^  * 的意思 百度搜出来的,这些目前本人不保证正确。

全局引用变量必须gcnew

int *iSum=new int;
*用来表示非托管指针,用new创建
^用来表示托管指针,用gcnew创建