亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        C++基礎(chǔ):有趣的#define的一個(gè)實(shí)例

        字號(hào):

        看了一下google CoverStory的代碼,有一個(gè)地方很有意思:
            // These are the various document types used by CoverStory.
            // Included in both Obj-C and plist sources.
            // A little magic to get CPP to turn things into cstrings for the code but have
            // the strings raw for the plists. The reason we need this is if we just put
            // them in quotes (cstrings) then we’d get those quotes in the plists, which we
            // don’t want.
            #define STRINGIFY(x) #x
            #define TO_STRING(x) STRINGIFY(x)
            #define kGCOVTypeNameRaw GNU Compiler Coverage File
            #define kGCOVTypeName TO_STRING(kGCOVTypeNameRaw)
            然后在使用的地方
            NSLog(@kGCOVTypeName);
            或者
            std::cout<    就能把GNU Compiler Coverage File考試,大提示值輸出來(lái)了,
            但如果用NSLog(@#kGCOVTypeNameRaw);則不行。