青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    接上一篇文章。自從昨天設計了NativeX語言的泛型之后,今天又對昨天的草稿做了一下修改。設計語言的語法總是這樣,首先對你自己的需求提出直接的解決方法,然后看看是不是有些新的概念跟其他概念可以合并起來變成更抽象的概念,而且又不會在實現上導致困難,也不會讓編譯器變的突然難寫許多。經過了昨天晚上和今天早上的思考,我決定簡化一下泛型的語法以及concept的內容。

    首先說語法上的。上一篇文章在定義泛型頭的時候采用了generic<type T1, type T2, concept C1, concept C2>這樣子的語法。本著盡量減少關鍵字的原則,我決定去掉type,變成generic<T1, T2, concept C1, concept C2>。原因是concept關鍵字還能用來定義一個契約,而type則毫無用處。而且一個契約有了concept關鍵字作開頭,也不會跟沒有type關鍵字的類型參數混淆。

    其次是concept。昨天定義了concept instance和concept series。其實總結到最后,concept instance無非就是concept series的一個特例。根據昨天的說法,把所有的instance都替換成series其實結果還是一樣的。唯一的區別就是concept series不允許在既不是concept定義所在的Assembly也不是特化所涉及類型的Assembly里面出現它的一個特化。如果單純去掉了concept instance的話顯然會帶來問題:我在AssemblyA處聲明了一個concept Sortable<T>之后,沒辦法在AssemblyB處聲明一個concept series IntSortable : Sortable<int>。因此某一些限制需要放寬一點:
    1、concept series的原始版本可以在一個既不包含concept聲明和也不包含涉及的類型聲明的地方聲明。
    2、concept series的特化版本則必須出現在包含concept聲明或者包含涉及類型聲明的地方聲明。

    那么其實series關鍵字也不需要了,因此會獲得下面的寫法:
 1 generic<T>
 2 concept GSortable
 3 {
 4   bool LessThan(T a, T b);
 5 }
 6 
 7 generic<T>
 8 instance Sortable : GSortable<T>
 9 {
10   LessThan = BinaryLessThen<T>;
11 }
12 
13 instance Sortable<int>
14 {
15   LessThan(a, b) = a < b;
16 }

    operation和function的區分實際上沒什么大的價值,如果你真的需要一個函數指針的話,那就在參數傳進去好了。而且constant也沒什么必要,因為constant實際上是operation的一個特例,只是使用的時候需要多寫一個口號罷了。我們會看到上面定義concept其中的操作的兩個方法:指定函數和指定表達式。如果制定了表達是的話,那么該表達式將會被內聯(啊)。所以constant存在的價值也就不存在了。因此我們甚至連function、operation和constant的區分也消失了,所以在語法上更加得到了簡化。

    NativeX每一次引入一個新的特性的時候都是迫不得已而為之,而且一旦引入之后我總是力圖將該特性設計成跟其他所有的特性正交。例如這里的泛型,所有的東西都可以加上泛型,譬如結構體、全局變量、函數、契約和契約實例。所有的東西都可以是非泛型的,也可以是泛型的。有時候我們的確需要定義一個非泛型的concept,這其實也不是什么大問題。

    不過當前的語法還會遇到C++那經典的>>問題(一直到了C++0x才正式納入標準- -b)。這個問題有三種解決辦法,第一種是不允許寫成vector<vector<int> >,第二種是允許寫a>>b也允許寫a> >b(中間有個空格),第三種是跟VC++一樣一概支持。最后一個比較困難,第二個比較奇怪,第一個比較惡習。不過結合了各種因素之后,其實我覺得支持第二個倒是最簡單的辦法:你仍然可以寫出漂亮的代碼,而且你如果自己受得了a> >b而自己惡心自己的話,那也是你自己的事……

    至于其它問題,NativeX沒有逗號表達式,聲明NativeX的變量需要加上variable關鍵字,聲明NativeX的函數需要加上function關鍵字,所以全部迎刃而解。
posted on 2010-06-13 23:50 陳梓瀚(vczh) 閱讀(2526) 評論(2)  編輯 收藏 引用 所屬分類: VL++3.0開發紀事

評論:
# re: Vczh Library++ 3.0之NativeX語言泛型草稿(二) 2010-06-14 03:22 | mm
一天一篇真厲害!  回復  更多評論
  
# re: Vczh Library++ 3.0之NativeX語言泛型草稿(二) 2010-06-14 03:24 | mm
也該讓大腦休息一下呢!  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            日韩视频一区二区三区在线播放免费观看| 国产曰批免费观看久久久| 一区二区毛片| 一区二区三区国产精华| 亚洲欧洲日本一区二区三区| 一区免费观看视频| 亚洲欧洲日产国产综合网| 亚洲精品专区| 午夜精品99久久免费| 久久精品在这里| 亚洲东热激情| 亚洲人成亚洲人成在线观看图片| 99视频精品| 欧美在线视频观看免费网站| 狼人社综合社区| 欧美私人啪啪vps| 狠狠色综合色区| 亚洲午夜电影在线观看| 久久天堂成人| 日韩视频在线一区二区三区| 亚洲男人第一网站| 欧美国产日韩a欧美在线观看| 欧美午夜女人视频在线| 精品成人久久| 国产欧美日韩专区发布| 亚洲精品国产拍免费91在线| 艳妇臀荡乳欲伦亚洲一区| 亚洲一卡久久| 欧美aⅴ一区二区三区视频| 一本久久a久久精品亚洲| 久久久精品午夜少妇| 欧美日韩一区二区三区在线观看免 | 国产亚洲在线观看| 一本色道久久综合亚洲精品高清| 午夜精品久久久久久久99樱桃| 久久免费视频网| 在线亚洲精品| 欧美激情综合色综合啪啪| 狠色狠色综合久久| 欧美在线观看www| 亚洲精品乱码| 久久亚洲春色中文字幕久久久| 国产精品激情电影| 夜夜嗨av色一区二区不卡| 免播放器亚洲一区| 午夜视频在线观看一区二区三区 | 欧美日韩综合在线| 亚洲精品专区| 欧美二区不卡| 噜噜噜久久亚洲精品国产品小说| 国产一区高清视频| 久久精品国产成人| 欧美亚洲一区二区三区| 国产麻豆成人精品| 亚洲欧美视频一区| 亚洲视频一区| 国产精品久久一区主播| 亚洲一卡二卡三卡四卡五卡| 亚洲日本黄色| 欧美三级网页| 欧美亚洲一区在线| 午夜亚洲福利| 好吊妞**欧美| 免费在线亚洲| 欧美极品在线观看| 亚洲一区二区三区久久| 亚洲视频大全| 国产亚洲欧美日韩一区二区| 久久精品在线视频| 久久久久久久综合狠狠综合| 亚洲大片精品永久免费| 亚洲高清一二三区| 欧美三级免费| 久久精品亚洲精品| 蜜臀久久99精品久久久久久9 | 亚洲视频在线观看网站| 亚洲欧洲综合| 国产精品欧美久久久久无广告| 亚洲欧美综合一区| 欧美在线观看网址综合| 亚洲高清免费在线| 日韩一级在线| 国产一区二区激情| 亚洲风情在线资源站| 欧美日在线观看| 久久久精品一区二区三区| 久久久久久久久久久久久久一区 | 日韩五码在线| 亚洲香蕉伊综合在人在线视看| 国产精品日韩在线一区| 裸体女人亚洲精品一区| 欧美精品在线极品| 久久精品亚洲| 欧美另类亚洲| 久久综合图片| 国产精品久久久99| 免费在线国产精品| 国产精品久久久久高潮| 欧美成人a∨高清免费观看| 欧美丝袜第一区| 欧美电影在线观看完整版| 国产精品日日摸夜夜摸av| 欧美福利在线| 国产日韩高清一区二区三区在线| 欧美电影打屁股sp| 国产噜噜噜噜噜久久久久久久久| 麻豆成人精品| 国产精品免费福利| 91久久久久久久久| 狠狠色狠狠色综合人人| 宅男噜噜噜66一区二区66| 激情丁香综合| 午夜久久久久久| 亚洲欧美久久久久一区二区三区| 久久色在线播放| 欧美一级网站| 欧美午夜宅男影院在线观看| 欧美高清在线一区二区| 国产一区二区精品久久99| 夜夜嗨av一区二区三区四季av | 欧美一二三区精品| 欧美久久一级| 亚洲国产精品视频一区| 亚洲国产cao| 久久视频在线免费观看| 久久久久国产精品一区二区| 国产精品麻豆va在线播放| 亚洲精品乱码| 亚洲麻豆视频| 欧美激情影音先锋| 亚洲国产婷婷| 日韩一级大片| 亚洲一区二区三区色| 久久久久高清| 久久精品一区二区三区四区| 国产精品乱码一区二区三区| 中日韩在线视频| 亚洲一区二区精品在线观看| 欧美日韩黄色大片| 99热精品在线观看| 亚洲欧美日韩在线播放| 国产精品久久久久久久久久免费看| 亚洲精品国产系列| 夜夜嗨av一区二区三区网站四季av| 欧美成人乱码一区二区三区| 亚洲第一在线综合网站| 亚洲精品乱码视频| 欧美日韩一区二区免费在线观看| 亚洲美女电影在线| 亚洲欧美日韩精品久久久久| 国产精品色在线| 欧美一区二区高清| 老司机精品视频网站| 亚洲高清av在线| 欧美剧在线免费观看网站| av成人免费在线观看| 欧美一区二区精品在线| 黄色成人av| 欧美精品三级| 亚洲欧美在线视频观看| 蜜桃av一区| 一区二区免费看| 国产欧美综合在线| 免费一级欧美片在线观看| 亚洲免费成人av| 午夜天堂精品久久久久| 伊人久久大香线蕉综合热线 | 亚洲社区在线观看| 久久亚洲精品中文字幕冲田杏梨| 亚洲国产精品一区二区第一页| 欧美高清在线播放| 亚洲欧美日产图| 91久久国产综合久久蜜月精品 | 欧美亚洲一区在线| 亚洲丰满在线| 久久国产加勒比精品无码| 91久久精品美女| 国产乱理伦片在线观看夜一区| 久久久亚洲国产美女国产盗摄| 亚洲精品在线三区| 快播亚洲色图| 亚洲永久免费精品| 最新日韩在线视频| 国产一区二区| 欧美日韩精品免费观看视一区二区| 亚洲欧洲99久久| 日韩亚洲在线观看| 欧美大胆a视频| 久久三级视频| 欧美在线短视频| 亚洲深夜福利在线| 亚洲欧洲在线播放| 红杏aⅴ成人免费视频| 国产伦精品一区二区| 欧美精品在线一区| 欧美成人蜜桃| 久久综合99re88久久爱| 欧美亚洲免费电影| 亚洲视频1区2区| 欧美国产视频一区二区|