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

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>
            亚洲国产视频直播| 国产精品综合色区在线观看| 国产精品美女一区二区在线观看| 黄色成人在线| 欧美激情第3页| 欧美韩国一区| 性做久久久久久久久| 亚洲一区制服诱惑| 狠狠色综合色区| 亚洲国产欧美不卡在线观看| 欧美高清在线精品一区| 在线观看国产成人av片| 麻豆精品视频在线观看| 欧美日韩伦理在线| 久久精品中文字幕一区| 欧美aa国产视频| 亚洲欧美国产毛片在线| 久久久www成人免费精品| 最近中文字幕日韩精品| 亚洲在线观看视频| 99国产精品久久久久老师| 亚洲男人的天堂在线| 亚洲国产视频一区二区| 欧美一区二区视频在线| 亚洲视频专区在线| 欧美久色视频| 亚洲黄色尤物视频| 伊人久久亚洲影院| 午夜精品国产更新| 国产一区二区激情| 国产精品电影观看| 99精品视频免费观看视频| 亚洲成在人线av| 蜜臀av性久久久久蜜臀aⅴ| 久久精品视频va| 在线观看三级视频欧美| 久久久美女艺术照精彩视频福利播放| 在线视频欧美一区| 国产精品高潮呻吟久久av无限 | 性8sex亚洲区入口| 国产日韩欧美成人| 久久狠狠亚洲综合| 欧美激情精品久久久久久蜜臀 | 女人香蕉久久**毛片精品| 激情欧美一区二区三区在线观看 | 亚洲免费激情| 欧美午夜不卡在线观看免费 | 亚洲一区二区黄色| 国产欧美日韩一区| 欧美黄色一区二区| 小黄鸭精品aⅴ导航网站入口| 男女激情视频一区| 亚洲午夜精品一区二区| 激情文学综合丁香| 欧美视频二区| 欧美激情精品久久久六区热门| 一区二区三区久久网| 欧美国产日本| 欧美日韩一级大片网址| 两个人的视频www国产精品| 日韩五码在线| 亚洲国产精品黑人久久久| 欧美日韩1区| 欧美91大片| 老司机67194精品线观看| 欧美一区精品| 亚洲制服av| 亚洲欧美日本国产有色| 在线视频欧美日韩| 亚洲人成小说网站色在线| 久久精品网址| 免费久久99精品国产自| 麻豆精品视频在线| 亚洲成人资源| 日韩亚洲欧美精品| 日韩视频不卡| 亚洲欧美欧美一区二区三区| 性色av一区二区三区| 性久久久久久久久久久久| 午夜精品久久久久久99热| 亚洲作爱视频| 午夜亚洲精品| 久久三级视频| 国产精品视频网址| 精品动漫3d一区二区三区免费| 国产日韩欧美一区二区| 在线精品一区| 午夜影院日韩| 亚洲国产成人久久综合一区| 日韩视频在线观看一区二区| 亚洲视频1区| 欧美国产免费| 国产一在线精品一区在线观看| 国产亚洲欧洲997久久综合| 亚洲人成网站精品片在线观看 | 欧美日韩久久| 国色天香一区二区| 亚洲一区二区三区四区中文| 国产精品久久久久久久久久三级| 久久久www| 欧美韩国日本综合| 亚洲第一福利在线观看| 中日韩男男gay无套| 欧美多人爱爱视频网站| 亚洲欧美日韩一区二区在线| 欧美激情亚洲自拍| 永久域名在线精品| 久久天天躁狠狠躁夜夜av| 亚洲欧美国产va在线影院| 国产精品激情| 亚洲午夜影视影院在线观看| 亚洲精品综合在线| 欧美日本一区二区高清播放视频| 亚洲国产日韩综合一区| 欧美二区在线看| 欧美女同视频| 欧美一区不卡| 久久一二三区| 一本色道久久综合一区| 亚洲香蕉网站| 一区二区三区中文在线观看| 欧美高清视频免费观看| 欧美激情1区2区| 先锋资源久久| 欧美不卡高清| 欧美在线黄色| 蜜桃精品一区二区三区 | 欧美激情亚洲一区| 欧美精品在线一区二区三区| 中文一区字幕| 久热re这里精品视频在线6| 亚洲美女少妇无套啪啪呻吟| 亚洲理伦在线| 亚洲国产黄色| 欧美亚洲色图校园春色| 99国产精品私拍| 久久天天躁狠狠躁夜夜av| 亚洲欧美另类在线观看| 美女精品网站| 欧美电影专区| 国产在线精品自拍| 夜夜嗨av一区二区三区| 亚洲综合视频网| 亚洲一区二区三区欧美| 久久久久久日产精品| 嫩草成人www欧美| 久久综合亚洲社区| 国产麻豆午夜三级精品| 亚洲视频在线一区观看| 亚洲视频免费| 国产精品久久精品日日| 亚洲美女视频网| 亚洲综合另类| 国产欧美三级| 久久不见久久见免费视频1| 亚洲在线黄色| 韩日成人在线| 欧美 日韩 国产一区二区在线视频 | 欧美日韩国产综合视频在线观看| 欧美成人亚洲| 亚洲卡通欧美制服中文| 欧美日韩国产欧| 亚洲综合色自拍一区| 久久免费视频在线| 亚洲第一区在线| 欧美视频一区| 久久在线精品| 亚洲一区图片| 欧美国产视频在线观看| 亚洲一区免费看| 亚洲国产婷婷| 国产主播一区二区三区四区| 欧美www视频| 欧美在线亚洲综合一区| 亚洲国产另类久久久精品极度| 亚洲香蕉网站| 亚洲三级性片| 精品动漫3d一区二区三区| 国产精品久久久久久久久久尿 | 日韩午夜精品| 国产日韩欧美一区二区| 欧美日韩中文字幕在线| 久久久激情视频| 久久国产精品一区二区| 欧美一级视频精品观看| 一本到12不卡视频在线dvd| 欧美激情1区2区3区| 久久久亚洲影院你懂的| 国产精品男女猛烈高潮激情| 欧美成人在线网站| 欧美搞黄网站| 欧美日韩在线视频一区| 欧美日韩亚洲国产精品| 亚洲经典视频在线观看| 玖玖玖国产精品| 亚洲国产精品久久| 亚洲人成小说网站色在线| 日韩一级在线| 亚洲无线视频| 久久久xxx|