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

longshanks

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  14 Posts :: 0 Stories :: 214 Comments :: 0 Trackbacks

常用鏈接

留言簿(10)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

re: GP技術的展望——C-- longshanks 2008-08-08 11:28
@Alleluja
說得好,說得好。兄臺有blog沒,咱也加一個。:)
oop老前輩可差遠了。我也就是稍微早一些學C++時學了OOP。我心目中更完善的C++應該是有class,但沒有oop。呵呵,有點胡說了。我是指動多態。它的功能用runtime concept代替。我希望的是C with GP,包括static的和dynamic的。
re: GP技術的展望——C-- longshanks 2008-08-07 09:49
@AlexEric
說對了,concept就是模板的發展方向,看C++09。
說道人如何取舍,對于多數程序員而言,取舍的東西太多,影響他們的發揮。這也是C++發展concept的原因之一。
re: GP技術的展望——C-- longshanks 2008-08-05 08:08
@Computer Worker
舍棄vtable很容易,但如果我還希望同時獲得高級抽象能力呢?
re: GP技術的展望——C-- longshanks 2008-08-03 18:04
@陳梓瀚(vczh):
的確如此。只是在vtable下,即便沒有指針也無法非侵入地處理對象。但pod可以。C+gp同樣可以在模型上建立serialization架構,但副作用相比oop更小。兩害相權取其輕啊。

@Michael Li:
這些想法原本也就是沿著C++未來發展路線的進一步“遐想”。C++09走出了static concept這一步,并且正在以庫的方式模擬runtime concept,那么更進一步便是語言級別的runtime concept了。我只是想看看如果C++擁有語言級別runtime concept,可以獲得什么樣的結果。
@oldrev
這個就沒辦法了。這些接口都是需求設計驅使的,只是不同的手段實現而已。這方面的問題由于沒有廣泛的應用,還不太清楚,需要實踐檢驗。
concept相比interface的直接好處在于兩點:1、不需要在接口實現類型產生前定義concept,任何時候都可以,這樣可以減少設計上的壓力。這是非侵入的好處。2、concept驅動下的模板在runtime和compiletime是相同的,也就是同一個模板可以同時用于runtime和static,而不需要另搞一套。
間接的好處是會對語言整個模型產生根本性的影響,從而消除語言某些方面的復雜性和缺陷。這個我打算在下一篇blog里探討。
to oldrev兄:
我不太理解“只為約束函數參數而沒其他作用的 concepts”這個概念,能否給個例子。這個問題我這么想:concept以及runtime concept同oop的interface的差異我以前的blog和toplanguage討論中都談論過。本質上,interface是“用一個類型來表征一組類型”,邏輯上就不那么和諧。而concept則是用一個獨立的,專門用于描述一組類型的概念實現這個功能。interface的弊端,比如侵入的接口、造成類型耦合等等,在concept中不會存在。運用concept,我們可以消除這部分問題。至于其他的interface問題,可能來自于需求和設計,通常也無法全部通過這種技術手段消除。
當然就像clear兄所說,concept可以auto(需要在定義concept指定auto),這也消除了不少麻煩。只是auto需要謹慎,只有那些含有公共語義約定的concept,比如swappable、copyable等等,以及形式(成員)非常特殊,不可能有其他語義的類型與之混淆的情況下,才可以使用,否則容易引起混亂。
btw:如何才能把鏈接的樣式改成標準樣式?我寫的時候都是藍色帶下劃線的,但是發出來就不見了。
to duguguiyu:
如果沒有concept當然可以,但是必須有一種完成concept功能,也就是類型特征描述的機制,實現模板(泛型)的類型參數約束,以及提供優化線索的功能。
關于編譯器,靜態concept是未來C++09標準的一部分預計明年可以出臺。據我所知,現在只有一個試驗性編譯器支持concept:conceptGCC,http://www.generic-programming.org/software/ConceptGCC/
而runtime concept,八字還沒一撇。Bjarne有一篇論文,可能在今年三月份發表,提到了runtime concept。但沒有涉及語言層面的實現,而是庫方面的實現。相關這些內容的其他文獻,可以看我前一篇文章《OOP的黃昏》后面給出的參考。
re: 業務邏輯的強類型化 longshanks 2007-11-09 08:49
to TeirDal:
其實,“每個類型都是類”和“每個類都是類型”是等價的,只要語言不再區分內置類型和用戶定義類型這兩種概念。隨著操作符重載的出現,我們有能力使得用戶定義類型同內置類型具有相同的特性。
貨幣是我能找到的最簡單的案例,目的當然不會是創建一個貨幣系統。主要是為了展示C++的gp和tmp的運用。以及強類型約束對于構建穩固、便捷的系統
隱式轉換是利用=操作符實現轉換/賦值操作。它有一個好處就是:同一個語義,同一種形式。這種抽象的表達形式更貼近于現實業務。由于它在邏輯上的抽象性,那么對軟件的修改更加有利。比如:
//成員函數
USD u=20;
RMB r;
r=u->toUSD();
//隱式轉換
USD u=20;
RMB r;
r=u;
如果r的類型變成JPN,那么只需修改r的類型即可,而無需做更多的改動。
//成員函數
USD u=20;
JPN r;
r=u->toJPN();
//隱式轉換
USD u=20;
JPN r;
r=u;
此外,多個香爐多個鬼,顯式的轉換函數可能寫錯,會引發很多不必要的麻煩。
實際上,使用成員函數的方案的工作量比我給出的方案來的大很多。因為如果有n個貨幣,那么每個貨幣類都必須有n-1個轉換函數。所有轉換成員函數的總數將達到n*(n-1)。這是組合爆炸,也正是我的方案所要解決的問題。
如果你真要用顯式的轉換函數,那么也應該用成員函數模板:to<>()。這樣可以利用我在這里使用的元編程技巧把轉換函數的個數變成n。
但在運用了operator=()操作符模板后,只需要一個轉換函數即可。也就是說,這里的方案把原本n*(n-1)的代碼量變成了1。你說實現起來哪個更長?:)
python的思想,我不能說他錯,但用在這里并不合適,因為python的應用領域在于高層的應用開發,而這里所探討的問題則是基礎級別的軟件設計。python并不能應付這里所面臨的問題。
這個貨幣系統的真正的問題是,它是靜態的,而在現實軟件中,貨幣必須是動態的,也就是說我在編程的時候,并不知道我要把那兩種貨幣相加或者賦值。這樣,這個類型系統也就失去作用了。
re: C++之歌——噢,我親愛的++ longshanks 2007-11-07 14:05
non member non friend這一點上,Sutter的案例有些極端。但他的思想代表了整個C++社群,或者說現代multiple-pariadm風格的主流。而meyes的文章則更加理論化。
這種函數的分離帶來兩個好處:首先,就是靈活性。無論如何成員函數的靈活性無法同自由函數相比。我們無法得到一致性的論斷,自由函數絕對好,但是可以明確自由函數更靈活,更易于替換,特別是有能力在維持原有的訪問形式之下,擴種針對一個類的操作,這是成員函數無法做到的。
另一個方面,自由函數更利于泛化,構造通用的算法或算法框架,提高整個設計的擴展性。
使用自有函數基本上沒有什么副作用,但成員函數由于被強行綁定在類上,無法自由變換。
re: C++模板類的三種特化[未登錄] longshanks 2007-07-16 16:11
如果這樣分的話,還應該有第四種特化:
template<typename T1, typename T2>
class X {...};

template<typename T>
class X<T, int> {...};
以及2、3、4的混合
template<typename T>
class X<T, T*> {...}
template<typename T>
class X<vector<T>, T&> {...};
...
更極端的,這樣的特化是否該歸為第5類呢:
template<typename T>
class Y;
template<typename R, typename P1, typename P2>
class Y<R (P1, P2)> {...};//針對帶兩個參數,有返回值的函數類型特化

實際上,3僅僅是局部特化結合template-template parameter的一個應用。算不上一“種”特化。
總的來說,還是C++標準中的分類更加清晰。

另外,根據C++標準術語,應該是“類模板”(class template),而不是“模板類”。一般認為,“模板類”是模板實例化(特化)后的類:
vector<int>
re: 什么是concept longshanks 2007-05-31 14:52
現在對concept有什么正式的譯法嗎?
stl的核心,也就是平臺軟件的核心,就是“可擴展”。
平臺軟件通常很難遍歷所有的需求,于是抽象出業務模型框架就顯得尤為重要。一旦抽象出業務框架,則可以通過插入和替換組件的方式實現擴展,將軟件定制的開發量減到最小。
模板帶來的是強類型的多態(利用靜多態)。它的好處就是利用強類型在編譯時攔截大量的錯誤。同時,類的出現,使得操作成為類型的一部分。強類型化后,不僅僅數據結構的邏輯性得到檢驗,連施加在這些數據上的操作也得到約束。因此,合理地運用模板和隨之帶來的強類型多態,可以使得代碼更高效,更簡潔,也更安全。
由于業界的大多數程序員還在努力消化OOP帶來的技術革命,還無法理解gp帶來的優勢。不同于OOP,業界也還沒有出現GP方面完整的理論,所以對模板及其帶來的好處還未能充分理解。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            a91a精品视频在线观看| 在线观看日产精品| 亚洲字幕在线观看| 99国产精品久久久久久久久久| 免费试看一区| 欧美国产高潮xxxx1819| 欧美a一区二区| 亚洲黄色小视频| 欧美激情女人20p| 欧美一区日本一区韩国一区| 亚洲欧美日韩国产中文在线| 欧美一区二区三区的| 亚洲素人一区二区| 一本色道久久综合狠狠躁篇怎么玩| 在线看片第一页欧美| 亚洲电影自拍| 在线视频亚洲欧美| 亚洲欧美中文另类| 美女日韩在线中文字幕| 亚洲国产一区二区在线| 一区二区三欧美| 欧美一区二视频| 欧美成人小视频| 国产美女扒开尿口久久久| 在线精品亚洲| 亚洲欧美国产三级| 欧美福利视频在线| 亚洲欧美网站| 欧美激情五月| 国色天香一区二区| 一本久道久久久| 老司机午夜精品| 亚洲伊人第一页| 欧美激情欧美激情在线五月| 国产日韩精品视频一区二区三区| 雨宫琴音一区二区在线| 亚洲——在线| 亚洲国产成人久久综合一区| 亚洲一区二区在线播放| 六月天综合网| 国产日韩欧美在线一区| 在线一区观看| 亚洲欧洲视频| 欧美黑人国产人伦爽爽爽| 一区二区三区在线观看视频| 欧美一区二区三区在线视频| 日韩一级在线| 欧美日韩精品在线| 亚洲毛片av在线| 欧美国产日韩在线观看| 久久经典综合| 国语自产精品视频在线看8查询8| 亚洲欧美综合精品久久成人| 一区二区欧美视频| 国产精品国产三级国产普通话蜜臀 | 欧美精品免费视频| 永久免费毛片在线播放不卡| 久久久久久亚洲综合影院红桃 | 久久亚洲精品欧美| 中文av字幕一区| 久久免费视频这里只有精品| 欧美日韩另类一区| 亚洲国产精品成人久久综合一区 | 久久亚洲私人国产精品va| 日韩亚洲视频| 欧美韩日一区二区| 欧美激情一区二区三级高清视频 | 一区二区三区回区在观看免费视频| 久久精品国产免费观看| 99在线热播精品免费99热| 噜噜噜在线观看免费视频日韩| 国产视频在线观看一区二区| 亚洲午夜在线| 亚洲精品1区2区| 久久婷婷丁香| 尤物视频一区二区| 久久成人国产精品| 亚洲一区二区三区视频| 久久久久久国产精品mv| 国产精品久久久久av| 亚洲一区久久久| 在线亚洲欧美视频| 欧美三级免费| 亚洲综合色激情五月| 一区二区免费在线视频| 国产精品久久久久久久7电影 | 一区二区三区久久久| 日韩视频免费观看| 欧美一级久久久久久久大片| 久久九九国产精品怡红院| 国产精品啊啊啊| 欧美一二三视频| 久久不射中文字幕| 伊人色综合久久天天五月婷| 久久在线免费观看| 久久三级福利| 亚洲久色影视| 亚洲一区二区三区777| 国产日韩一区二区| 亚洲一区二区在线免费观看视频| 久久久久久久久岛国免费| 亚洲片在线资源| 一本久久精品一区二区| 国产区二精品视| 另类亚洲自拍| 欧美日韩国产美| 久久青青草原一区二区| 欧美精品激情| 亚洲欧美在线一区| 玖玖精品视频| 亚洲国产精品va在线看黑人动漫| 中文精品视频| 欧美精品一区三区| 欧美色中文字幕| 欧美中文在线视频| 欧美亚洲专区| 亚洲欧美中文在线视频| 久久综合图片| 亚洲欧美区自拍先锋| 久久婷婷一区| 欧美一区二区| 欧美精品www在线观看| 久久精品一区二区三区不卡| 午夜久久电影网| 精品成人国产在线观看男人呻吟| 中日韩高清电影网| 亚洲国产成人精品女人久久久 | 一区二区三区色| 久久精品国产999大香线蕉| 亚洲伦理久久| 久久精品av麻豆的观看方式| 在线亚洲+欧美+日本专区| 久久国产视频网| 亚洲一线二线三线久久久| 久久精品在线视频| 亚洲制服欧美中文字幕中文字幕| 久久久99国产精品免费| 午夜精品一区二区三区在线| 欧美高清自拍一区| 免费成人黄色av| 国产亚洲在线| 亚洲在线网站| 亚洲女女做受ⅹxx高潮| 欧美日本高清视频| 欧美高清影院| 在线观看欧美日本| 性久久久久久| 这里是久久伊人| 裸体丰满少妇做受久久99精品| 久久精品日产第一区二区三区| 国产精品成人在线| 亚洲精品一区在线观看| 亚洲精品黄色| 欧美大片va欧美在线播放| 亚洲天堂网站在线观看视频| 国产精品免费福利| 亚洲一二三区精品| 亚洲伊人一本大道中文字幕| 欧美久久综合| 亚洲精品网站在线播放gif| 日韩视频在线一区二区| 欧美成年网站| 亚洲精品国产精品国自产观看浪潮| 狠狠色综合网| 美女被久久久| 亚洲精品日韩一| 亚洲美女在线一区| 欧美日韩一区二区高清| 亚洲午夜电影网| 亚洲一区精彩视频| 国产精品嫩草影院av蜜臀| 欧美三级精品| 久久另类ts人妖一区二区| 欧美成人午夜免费视在线看片| 欧美一级免费视频| 国产精品视频自拍| 亚洲欧美日本视频在线观看| 久久激情久久| 亚洲高清免费视频| 欧美黄在线观看| 一区二区三区精品视频| 美国三级日本三级久久99| 亚洲一区二区影院| 久久久久高清| 91久久黄色| 国产精品久久久久影院色老大| 久久一二三国产| 欧美激情一区| 欧美在线三级| 亚洲精品国精品久久99热| 欧美日产一区二区三区在线观看| 夜夜狂射影院欧美极品| 久久久7777| av成人黄色| 欧美美女操人视频| 欧美高清视频免费观看| 亚洲永久免费| 欧美激情一区二区三区高清视频| 亚洲自拍三区| 亚洲破处大片|