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

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

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

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

    那么其實(shí)series關(guān)鍵字也不需要了,因此會獲得下面的寫法:
 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的區(qū)分實(shí)際上沒什么大的價(jià)值,如果你真的需要一個函數(shù)指針的話,那就在參數(shù)傳進(jìn)去好了。而且constant也沒什么必要,因?yàn)閏onstant實(shí)際上是operation的一個特例,只是使用的時(shí)候需要多寫一個口號罷了。我們會看到上面定義concept其中的操作的兩個方法:指定函數(shù)和指定表達(dá)式。如果制定了表達(dá)是的話,那么該表達(dá)式將會被內(nèi)聯(lián)(啊)。所以constant存在的價(jià)值也就不存在了。因此我們甚至連function、operation和constant的區(qū)分也消失了,所以在語法上更加得到了簡化。

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

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

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

評論:
# re: Vczh Library++ 3.0之NativeX語言泛型草稿(二) 2010-06-14 03:22 | mm
一天一篇真厲害!  回復(fù)  更多評論
  
# re: Vczh Library++ 3.0之NativeX語言泛型草稿(二) 2010-06-14 03:24 | mm
也該讓大腦休息一下呢!  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产亚洲精品久久久8v| 亚洲激情视频在线观看| 一本久久a久久免费精品不卡| 欧美激情视频网站| 一本一道久久综合狠狠老精东影业 | 国产无一区二区| 久久九九热re6这里有精品| 亚洲精品国产精品乱码不99| 免费在线成人av| 欧美精品一区二区三区一线天视频| 日韩一级大片在线| 亚洲综合精品| 亚洲成人在线视频播放| 亚洲精品乱码久久久久| 欧美午夜不卡在线观看免费| 欧美一区精品| 久久综合色播五月| 亚洲一区二区三区国产| 欧美亚洲在线| 99国产精品| 欧美在线地址| 夜夜嗨av一区二区三区网页| 亚洲专区一区二区三区| 亚洲国产欧美日韩另类综合| 99riav1国产精品视频| 国产欧美va欧美va香蕉在| 亚洲视频图片小说| 欧美在线|欧美| 一区二区三区四区蜜桃| 久久精品二区三区| 亚洲综合好骚| 欧美精品粉嫩高潮一区二区| 久久久久久91香蕉国产| 欧美日韩国产高清| 暖暖成人免费视频| 国产欧美日韩亚洲一区二区三区| 亚洲第一精品福利| 国产亚洲电影| 一区二区欧美激情| 99国内精品久久| 久久婷婷久久| 久久久久这里只有精品| 国产精品成人久久久久| 亚洲大片精品永久免费| 国产一区二区丝袜高跟鞋图片| 日韩视频在线观看免费| 亚洲国产成人久久综合| 久久精品毛片| 久久9热精品视频| 久久久久久久97| 久久国产加勒比精品无码| 欧美日韩成人综合| 亚洲国产成人高清精品| 亚洲第一精品夜夜躁人人爽 | 久久精品国产久精国产一老狼| 欧美视频中文字幕| 亚洲激情六月丁香| 亚洲区国产区| 在线中文字幕一区| 亚洲最快最全在线视频| 欧美国产精品劲爆| 亚洲高清自拍| 日韩一级黄色大片| 欧美激情综合五月色丁香| 免费日韩成人| 亚洲精品久久在线| 欧美日本成人| 亚洲人成网在线播放| 一区二区三区高清不卡| 欧美日本在线看| 一本大道久久a久久精二百| 一区二区三区www| 欧美日韩在线综合| 亚洲欧美999| 久久久亚洲国产天美传媒修理工| 国产日产精品一区二区三区四区的观看方式 | 亚洲日韩第九十九页| 欧美va亚洲va日韩∨a综合色| 亚洲国产成人精品女人久久久| 最新日韩欧美| 欧美日韩一区二| 亚洲视频 欧洲视频| 欧美专区在线播放| 极品少妇一区二区三区| 免费久久99精品国产自| 亚洲国产日韩一区| 亚洲伊人网站| 国内精品久久久久影院色| 久久综合中文色婷婷| 日韩视频永久免费观看| 欧美在线看片| 91久久国产综合久久蜜月精品 | 欧美日韩国产美| 亚洲尤物影院| 欧美电影专区| 亚洲免费视频在线观看| 国产综合久久久久久鬼色| 男人的天堂成人在线| 在线亚洲激情| 猛男gaygay欧美视频| 在线一区日本视频| 国产亚洲精品久久久久久| 欧美成人精品激情在线观看| 9久草视频在线视频精品| 久久久精品五月天| 亚洲免费久久| 国产一区再线| 欧美午夜精品久久久久久浪潮| 羞羞色国产精品| 亚洲精品小视频| 免费观看成人网| 欧美一级片在线播放| 亚洲精品少妇网址| 国内成+人亚洲| 欧美三区视频| 欧美激情久久久久| 欧美在现视频| 亚洲制服欧美中文字幕中文字幕| 欧美成人精品不卡视频在线观看| 亚洲欧美精品在线| 日韩亚洲欧美在线观看| 在线成人亚洲| 国产主播精品| 国产日韩欧美自拍| 国产精品成人一区二区| 欧美国产日韩一区二区| 久久亚洲一区二区三区四区| 亚洲欧美日韩精品综合在线观看| 亚洲日本中文字幕| 亚洲国产经典视频| 欧美波霸影院| 欧美成人精品在线| 麻豆成人小视频| 久久久久一本一区二区青青蜜月| 小辣椒精品导航| 午夜精品视频一区| 亚洲综合色视频| 亚洲无玛一区| 亚洲男女毛片无遮挡| 亚洲一区免费视频| 亚洲免费视频一区二区| 亚洲欧美成人| 亚洲欧美三级在线| 亚洲欧美日韩久久精品| 亚洲欧美激情视频| 欧美在线国产精品| 久久精品国产精品| 久久蜜桃香蕉精品一区二区三区| 久久aⅴ国产紧身牛仔裤| 午夜精品久久久久久久99热浪潮| 亚洲综合三区| 欧美在线观看你懂的| 久久精品国产99国产精品澳门| 香蕉av777xxx色综合一区| 欧美一区激情| 免费看的黄色欧美网站| 欧美成人tv| 亚洲精品视频免费| 在线亚洲免费| 羞羞漫画18久久大片| 久久裸体视频| 欧美日产在线观看| 国产精品日日摸夜夜添夜夜av| 国产伦精品一区二区| 激情文学综合丁香| 日韩视频中文| 欧美亚洲系列| 欧美韩日精品| 亚洲视频大全| 久久久久成人网| 欧美三级视频| 黄色国产精品一区二区三区| 亚洲国产色一区| 亚洲一区二区免费| 久久久久女教师免费一区| 亚洲国产91色在线| 亚洲影音一区| 欧美成人午夜激情视频| 国产精品日本欧美一区二区三区| 韩日在线一区| 亚洲桃花岛网站| 久久综合九色综合久99| 亚洲激情网站| 久久精品成人一区二区三区蜜臀 | 欧美不卡福利| 国产精品影视天天线| 亚洲激情综合| 久久精品一区二区三区四区| 亚洲国产欧美一区二区三区丁香婷| 在线亚洲精品| 欧美激情视频在线免费观看 欧美视频免费一| 欧美午夜免费影院| 91久久国产精品91久久性色| 欧美一区二区三区免费视| 欧美黄色影院| 久久久欧美精品sm网站| 国产精品一区免费观看| 中文精品视频| 亚洲国产专区| 另类av一区二区|