1.由于#
2.在这种情况下,有没有括号是一样结果的。所以不必深究其替换结果的不一致性。

解决方案 »

  1.   

    你讲得都比较简单,能详细点吗?
      

  2.   

    1.&CWnd::classCWnd 和 (&CWnd::classCWnd)没有区别阿。
    2.
    Stringizing Operator (#)
    The number-sign or “stringizing” operator (#) converts macro parameters (after expansion) to string constants. It is used only with macros that take arguments. If it precedes a formal parameter in the macro definition, the actual argument passed by the macro invocation is enclosed in quotation s and treated as a string literal. The string literal then replaces each occurrence of a combination of the stringizing operator and formal parameter within the macro definition.White space preceding the first token of the actual argument and following the last token of the actual argument is ignored. Any white space between the tokens in the actual argument is reduced to a single white space in the resulting string literal. Thus, if a comment occurs between two tokens in the actual argument, it is reduced to a single white space. The resulting string literal is automatically concatenated with any adjacent string literals from which it is separated only by white space. Further, if a character contained in the argument usually requires an escape sequence when used in a string literal (for example, the quotation  (") or backslash (\) character), the necessary escape backslash is automatically inserted before the character. 
      

  3.   

    刚刚给你发了160 +5 +...分,还望多多关照阿!!!!!!!!!!1