• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            程序讓生活更美好

            半畝方塘 天光云影

              C++博客 ::  :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
              55 隨筆 :: 4 文章 :: 202 評論 :: 0 Trackbacks

            三字符組 ( 三字符序列 )

            首先我們來看兩段簡單的程序,如果你不進行編譯運行 , 猜一猜結果分別是多少?

            程序一

             1 #include <iostream>
             2 #include <iomanip>
             3 using namespace std;
             4 
             5 int main()
             6 {
             7     int x=1;
             8     // 結果是多少 ?遞增?????/
             9     ++x;
            10     cout<<x<<endl;
            11     return 0;
            12 }
            13 
             
            程序二
             1 #include <iostream>
             2 #include <iomanip>
             3 using namespace std;
             4 
             5 int main()
             6 {
             7     int x=1;
             8     // 結果是多少 ?遞增?????/
             9 
            10     ++x;
            11     cout<<x<<endl;
            12     return 0;
            13 }
            14 

            你猜出運行結果了么?現(xiàn)在我們就來揭示謎底,第一個程序的結果是1,第二個程序的運行結果是2

            哈哈,你或許會不解吧,這里就是我們需要講的“三字符組,也叫著“三字符序列”。

             

            三字符序列不太常見,但C++標準允許把某些字符指定為三字符序列。三字符序列就是用于表示另一個字符的三個字符序列。以前為了表示鍵盤上沒有的字符,這是必不可少的一種方法。

             

             

            具體的三字符序列轉義的對應關系如下表:

            字符串

            轉義后的含義

            ??=

            #

            ??(

            [

            ??)

            ]

            ??/

            \

            ??<

            {

            ??>

            }

            ??'

            ^

            ??!

            |

            ??-



            我們現(xiàn)在已經(jīng)基本知道什么是三字符組了,那么我們在來分析一下前面遇到的程序。

             程序1中,在第8行,那是一行注釋,//讓后面的部分編程注釋,但是問題就在這里了,??/這其實就是一個三字符組了,前面兩個??就意味著這里后面就會發(fā)生轉義。這個程序中,“??/”就會被轉義成“\,   而把這個符號放在一行的末尾就相當于將接下來的一行粘貼到這一行的末尾,所以本程序中的“++x”也就成了注釋的一部分,那么我們的結果是1就不足為奇了,而第二個程序的三字符組后面跟的是一行空白,所以不影響到下面的一行代碼,“++x”照常執(zhí)行,所以結果就是2



            此文完。
            參考自《
            Exceptional C++ style中文版/Herb Sutter著》

            posted on 2006-07-30 22:15 北風之神007 閱讀(2805) 評論(6)  編輯 收藏 引用 所屬分類: c/c++

            評論

            # re: 三字符組(三字符序列) 2007-03-21 20:27 Nameless
            昏迷,這也可以,學習了  回復  更多評論
              

            # re: 三字符組(三字符序列) 2007-04-11 08:30 帥哥
            強,以前從來都不知道  回復  更多評論
              

            # re: 三字符組(三字符序列) 2007-08-02 16:12 zhang
            我是查 什么是 三字符序列,查到這網(wǎng)頁的。

            為什么差?因為我看到日文的misra-c標準一書,第7條規(guī)則:
            3文字表記は使用してはならない。(3字符記號不得使用)

            此條規(guī)定是強制性的,而網(wǎng)上查了一下中文的misra-c標準,
            上面卻說是不得用三目運算符

            所以,我為了搞清楚什么是三字符序列,因為那本書上也列出了
            樓主的字符集,本來不知道,從來沒看到過。。。

            多謝樓主,長知識了,嗬嗬,謝謝!!!  回復  更多評論
              

            # re: 三字符組(三字符序列) 2008-10-13 09:40 wangxi
            好東西,學習了  回復  更多評論
              

            # re: 三字符組(三字符序列) 2011-12-09 11:12 飛飛龍
            學習了  回復  更多評論
              

            # re: 三字符組(三字符序列) 2014-06-05 10:17 luoage
            gcc 不識別3字符組

            gcc version egcs-2.91.57 19980901 (egcs-1.1 release)

            但是識別 //\/

              回復  更多評論
              

            欧美大香线蕉线伊人久久| 91麻豆国产精品91久久久| 亚洲精品乱码久久久久久按摩| 亚洲精品无码久久毛片| 久久大香萑太香蕉av| 久久久久久精品无码人妻| 国产三级精品久久| 精品久久久无码人妻中文字幕 | 93精91精品国产综合久久香蕉| 久久精品水蜜桃av综合天堂| 老司机午夜网站国内精品久久久久久久久 | 欧美亚洲另类久久综合婷婷| 免费国产99久久久香蕉| 久久人做人爽一区二区三区| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久精品国产亚洲77777| 亚洲欧美日韩精品久久| 亚洲中文字幕无码久久2020| 一级a性色生活片久久无| 久久久久国产精品嫩草影院| 亚洲天堂久久精品| 久久久久久久亚洲Av无码| 亚洲欧美久久久久9999| 国产99久久九九精品无码| 国产99久久精品一区二区| 国产精品免费看久久久| 精品久久久久久中文字幕人妻最新| 久久久久九九精品影院| 一本久道久久综合狠狠躁AV| 91超碰碰碰碰久久久久久综合| 欧美va久久久噜噜噜久久| 无码精品久久久天天影视| 99久久香蕉国产线看观香| 一级做a爰片久久毛片免费陪| 久久久久黑人强伦姧人妻| 久久99亚洲综合精品首页| 色狠狠久久综合网| 亚洲精品无码久久千人斩| 久久一区二区免费播放| 久久伊人色| 久久亚洲日韩看片无码|