• <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>

            qiezi的學習園地

            AS/C/C++/D/Java/JS/Python/Ruby

              C++博客 :: 首頁 :: 新隨筆 ::  ::  :: 管理 ::
            1、去掉了丑陋的宏。
            C/C++中的宏是很令人厭煩的,D不允許再使用它。

            2、好用的字符串常量表達式。
            除了類C的使用雙引號的字符串常量表達式以外,還可以使用`字符??梢允褂脁"68 65 6C6C 6F"來表示"hello",r"ab\na"則忽略字符串常量中轉義字符的轉義作用,還可以在字符串常量后加上c, w或d來指示字符串常量是char[]類型、wchar[]類型還是dchar[]類型。可以使用~運算符連接2個字符串。

            3、數(shù)字。
            數(shù)字可以直接使用,還可以這樣來定義:int a = 3_029_301_000; 數(shù)字直接量(包括整數(shù)、浮點數(shù)、復數(shù))表達式中,“_”字符是被忽略的。另外還直接提供了復數(shù)類型。

            4、提供定長數(shù)組、變長數(shù)組、關聯(lián)數(shù)組。
            int[3] a定義一個定長數(shù)組;int [] a定義一個變長數(shù)組;int[int]定義一個關聯(lián)數(shù)組,鍵類型是int,值類型是int;int[char[]] a定義一個關聯(lián)數(shù)組,鍵類型是char[],值類型是int,使用非常方便。
            可以使用foreach來遍歷數(shù)組:
            foreach (int index, int value; a)
              printf (
            "%d: %d\n", index, value);
            foreach (char[] key, int value; a)
              printf (
            "%.*s: %d\n", index, value);

            可以使用in操作符來判斷某個值是否是關聯(lián)數(shù)組的一個鍵:
            int[char[]] a;
            if ("hello" in a)
              writefln (
            "hello");

            數(shù)組可以切片(slice):
            int[] a; 
            int[] b = a[1..3]; 
            int[] c = a[1..length];

            等等。。。。

            5、其它還支持委托、函數(shù)指針、模板、異常、RAII、契約式編程、單元測試、with語句、auto/typeof、垃圾回收、操作符重載、內(nèi)聯(lián)匯編、條件編譯、嵌入到HTML等,它還標準化了ABI(這是C/C++最讓人頭痛的地方之一)。這些特性大部分都比較熟悉和實用,下面簡單介紹一下條件編譯和嵌入到HTML。

            6、條件編譯。
            在D中,可以使用version(VersionID)來進行條件編譯:
            version (Win32)
            {
              
            //
            }
            else
            {
              
            //..
            }

            還可以使用debug條件:
            debug
            {
              
            //
            }
            else
            {
              
            //
            }

            或者:
            debug printf ("hello");
            靜態(tài)條件編譯:
            const int n=1;
            static if (n == 1)
              writefln (
            "hello");
            else
              writefln (
            "world");

            類型檢查:
            int n = 3;
            if (is(n[]))
              writefln (
            "like array");
            if (is(n:int))
              writefln (
            "is an integer");


            7、嵌入HTML。
            在一個HTML文件中,<code>和</code>之間的部分可以當作D代碼來編譯。比如下面這段代碼:
            <h1>This is a test</h1>
            <code>
            import std.c.stdio;

            int 
            <font size=+1><b>main</b></font>()
            {
            &nbsp;<span style="color:red">printf</span>(<u>&quot;hello world\n&quot;</u>);
            &nbsp;return 0;
            }
            </code>
            <hr />
            <h1> End </h1>

            把它存儲為HTML文件,可以直接使用dmd編譯器編譯。
            posted on 2005-11-02 16:35 qiezi 閱讀(922) 評論(0)  編輯 收藏 引用 所屬分類: 學習方向 、D
            久久精品国产亚洲精品| 一极黄色视频久久网站| 国产精品视频久久久| 亚洲成色WWW久久网站| av午夜福利一片免费看久久| 亚洲va久久久噜噜噜久久狠狠| 久久无码人妻一区二区三区 | 精品久久久久久无码国产| 国产 亚洲 欧美 另类 久久| 狠狠色丁香久久婷婷综合蜜芽五月 | 久久99国内精品自在现线| 国产L精品国产亚洲区久久 | 久久人人爽人人爽人人av东京热| 久久精品青青草原伊人| 久久精品草草草| 久久天天躁狠狠躁夜夜躁2014| 99久久精品国产高清一区二区| 亚洲午夜无码AV毛片久久| 香蕉久久av一区二区三区| 精品乱码久久久久久夜夜嗨| 久久久久久久亚洲Av无码| 亚洲婷婷国产精品电影人久久| www.久久热.com| 久久久久久久久久久久中文字幕 | 国产午夜精品久久久久九九电影| 色天使久久综合网天天| 97久久久久人妻精品专区| 无码专区久久综合久中文字幕| 欧美精品福利视频一区二区三区久久久精品 | 国产精品久久新婚兰兰| 久久久久国产日韩精品网站| 精品一区二区久久| 久久精品午夜一区二区福利| 久久精品日日躁夜夜躁欧美| 久久亚洲日韩看片无码| 欧美黑人激情性久久| 亚洲精品第一综合99久久| 中文成人无码精品久久久不卡| 久久久久久av无码免费看大片| 国产精品九九久久免费视频| 久久国产香蕉一区精品|