• <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>
            隨筆-90  評論-947  文章-0  trackbacks-0
            共12頁: First 2 3 4 5 6 7 8 9 10 Last 
            @Soli
            謝謝關注~
            @Soli
            呵呵~沒機會重來鳥~
            re: 2009-2010小結(四) 溪流 2011-01-26 20:09
            @欲三更
            嗯,,其實那根本不是什么框架,只不過被先寫了點東西。
            re: 2009-2010小結(四) 溪流 2011-01-26 20:04
            @空明流轉
            謝謝支持~!
            re: 2009-2010小結(四) 溪流 2011-01-26 20:04
            @gbb21
            不厚道的家伙~
            re: 2009-2010小結(四) 溪流 2011-01-26 20:04
            @萬連文
            嗯,多謝萬老師教誨。
            @guest
            08沒試過,就不知道了。不過后來有一個改進(在下篇最后說的),就是 Function<R()> 的第一個構造函數的參數去掉 const &,改成 T fun,同時 FunctionTraits 也不要了。這樣可能08下也能過了。
            @陳梓瀚(vczh)
            這是額外一個工具,生成代碼后才能貼在 C++ 里的嗎?
            @zhaoyg
            shared_ptr<X> * 當然得自己先解一層
            shared_ptr<X> 才和 X* 具有形式上的等價性么
            @飛舞的煙灰缸
            我覺得做或者不做都是一個方案,但是不同意折中。如果折中,框架沒法跟用戶解釋,為什么WM_LBUTTONUP做了額外的工作,WM_DESTROY就沒做呢?框架沒有理由認為哪些是常用的。
            re: 2009-2010小結(二) 溪流 2011-01-19 01:26
            @megax
            復習過三天的^_^
            re: 2009-2010小結(二) 溪流 2011-01-19 01:25
            @C++愛好者
            最近受到了一個挫折,于是校內和QQ暫時不想加不認識的人哈~
            我比較喜歡版聊~
            @OwnWaterloo
            嗯,從實際角度上來說確實這樣~~
            @OwnWaterloo
            呵呵

            這種寫法

            template <typename S>
            class C;

            template <typename R>
            class C<R (__stdcall)()>
            {

            };

            發現通不過。。。

            還有這個:

            template <typename T>
            class C;

            template <typename U>
            class C<SomeTraits<U>::Result>
            {

            };

            偏特化的尖括號里不能進行摸板元運算?


            @OwnWaterloo
            呵呵,那玩意兒我本想改成一個博客客戶端,一直沒動。。。
            可是,工作范圍以外,就更要玩感興趣的語言了呀~
            我寫轉移文章的東西,不是為了轉移文章,是為了寫。
            當然,碰到一些具有真實需求的并且有緊迫性的事情,那是要追求效率的。。。只不過這種狀況跟工作無異了
            @OwnWaterloo
            但是只要不要把返回值拆出來,就是可以的

            template<typename F>
            void call(F f ) { return f(); }

            void __cdecl f() { printf("cdecl\n"); }
            void __stdcall g() { printf("stdcall\n"); }
            @OwnWaterloo
            多學點自然是應該的,但我覺得不應該追求日常編程脫離C/C++啊。。。那是件多么可怕的事,關系到飯碗。當然不是歧視腳本語言什么的,但是從現狀看來,越來越多的人在用更加簡單的語言,業界最稀有的的還是C/C++的人啊。(vczh說的生存斗爭觀點我很贊同。)越簡單意味著入門越容易,競爭者多,于是想勝出就難了。所以我覺得往復雜方面靠的大方向還是要的。所以。。。用API不如造API,用輪子不如造輪子,不如用造輪子的輪子。。。臨了的時候,也許可以居高臨下的跟別人說:你,不就是會很多API么?這些API我都造過。你,不就是會用很多輪子嗎?這些輪子我都造過。你,不就是會用很多語言嗎?這些語言我也都造過。。。哈哈,扯淡了
            @OwnWaterloo
            bind的時候會遇到怎樣的情形我目前不知道。但是就 function 的階段來說,我剛剛自認為比較仔細地確認了代碼能夠跑的樣子:

            void __cdecl f1(int)
            {

            }

            void __stdcall f2(int)
            {

            }

            int main()
            {
            Function<void (int)> g1(&f1);
            Function<void (int)> g2(&f2);
            g1(0);
            g2(0);

            return 0;
            }

            觀察匯編結果,f1的ret出來后有 add esp 4動作,f2的ret 4出來后沒有
            @OwnWaterloo
            歡迎聊天~~~

            warning神馬的,感覺就是要見一次殺一次,不然絕對破窗效應。

            “當需要這種靈活性時, 直接把C++丟了,選其他動態類型語言來編程?!庇幸蝗杭m結的人(當然不是我),他們的信仰就是用 C++ 做任何事,或者說他們的興趣就是用C++ 來做任何事,那怎么辦呢?呵呵。且不說個人興趣導向。從很理性的結果主義的角度考慮,這種時候確實得換,應該要換,但也不是每個這樣的場合都有條件換,比如團隊里沒有會python的且不想學python,但有一群蛋疼的Cpper,這種事情也會發生吧。

            最后,你說你在教C?求教,求升華~!·^_^
            @cexer
            謝謝分享這么多想法。

            給 handler 起名字確是刪除 handler 的好辦法,我可以不用糾結要不要用 typeid 啦。

            另外關于你說的不同類型的handler的綁定,作為 Function,我覺得不該加入這樣的特性;作為GUI專用的Event,是可以接受有的特性的。

            但是另一點疑問是,框架告訴用戶的規則——“返回 void 表示讓框架決定是否繼續處理,返回bool表示用戶想讓框架繼續處理或者拒絕用戶繼續處理”,與WTL的bHandled告訴用戶的——“設置bHandled用于指示框架是否繼續處理”相比,優勢大嗎?都存在一種約定。而用返回void與bool的形式,可能僅僅是更加炫一點?

            實現上,不管用戶看到的參數是怎樣的,框架最初獲得的肯定是 WPARAM 和 LPARAM,這樣,就算不修改 Function,似乎也可以在控件中給出不同的處理函數形式,例如給出一組重載的 OnClick:
            OnClick(Function<void (int, int)>)
            OnClick(Function<bool (int, int)>)
            又例如給ClickEvent實現重載的operator+=?

            前兩天我在猶豫框架要不要幫用戶解析 WPARAM、LPARAM,你的例子讓我堅定了想法,解析之!。。讓使用者不需要查 MSDN。。?;蛟S做不到這種程度吧。
            @OwnWaterloo
            很多時候, C++ 程序員不是去考慮這種需求是否存在, 實現這種需求的復雜度如何, 維護代價如何。
            僅僅是因為他們能, 所以他們就要這樣做……
            其實有時候, 這些需求僅僅是美學上的, 而不是技術上的。

            “僅僅是因為他們能, 所以他們就要這樣做……”有時候確實這樣,但一般實現代價一般很小的情況下才會出現這種沖動,想要順手做了。
            @cexer
            @OwnWaterloo
            關于調用約定,貌似不用復制N份(VS2010下測試),函數會自動被識別為 R (__stdcall *)(...)
            @zhaoyg
            是的,T*自然沒問題,就是為了同時也支持傳入 T。
            re: 2009-2010小結(二) 溪流 2011-01-18 12:26
            @潘孫友
            牛逼!崇拜!
            re: 2009-2010小結(二) 溪流 2011-01-18 12:26
            @zuhd
            @right
            不要瞎扯,哥很嚴肅的哦
            re: 2009-2010小結(二) 溪流 2011-01-18 00:47
            @expter
            沒有艷遇??吹接腥祟A測數字序列的要太監,堅決不能太監。
            @cexer
            很有啟發性的提示,謝謝分享~!頂了再細讀。
            @飛舞的煙灰缸
            求不借助于typeid的function相等的判別方法~
            這個木馬后來被金山毒霸收錄,哈哈
            re: 2009-2010小結(一) 溪流 2011-01-16 20:18
            @right
            呵呵,老師靠譜沒用,我不靠譜~
            有沒有辦法只出現一次 DEX_XX 這樣的系列宏,
            之后不要出現 PARAM_1 PARAM_2 PARAM_3 呢?
            MegaxEdit +1
            re: 我的編程元年 溪流 2010-12-23 20:32
            @叫我老王吧
            嗯,我也看出牛人喜歡說自己傻逼,所以冒充一下過過癮~
            re: 生成隨機數的一段代碼 溪流 2010-12-23 20:28
            來看看敢聲稱絕對隨機的人~
            表示學不會,除非把鍵盤上印著的標志給換一下我才能反應過來
            re: 我的編程元年 溪流 2010-12-22 23:36
            @叫我老王吧
            我不是,我是傻逼。我沒你幸運,沒能得到空明前輩時常的指點;僅有的幾次交流之中,也讓我知道了我的傻逼之處,使我心懷感激。
            re: 我的編程元年 溪流 2010-12-22 19:06
            “但他們永遠不會知道更傻逼的是我每次敲網址前都會加“http://”
            這個。。。每次我輸 http:// 的時候,總有一群sb在后面喊,這個可以不輸,仿佛只有不輸才是大俠。。
            re: 我的編程元年 溪流 2010-12-22 19:05
            “那是一個純真的年代,李剛每天下了班騎自行車接兒子,冠希還沒學會用相機,菊花還是用來欣賞的”。。。
            洋洋灑灑,令人羨慕嫉妒恨吶
            讀過的第一篇跨度十年的文章是林銳的《大學十年》,第二篇就是LZ的這篇《10年編程之路》
            從寫第一行C代碼起,自己也算有快5年了吧,希望再過5年能有LZ一半水平~
            re: 關于COM和.net的思考 溪流 2010-12-19 15:33
            學習了
            來考古了,太多了~~~~囫圇看一遍都花這么久。
            @空明流轉
            這里的 Fuck 是怎樣一種形式呢?
            @loadlibrary
            LoadLibrary 怎么了?
            @classyk
            我是說,你有可能拿不到這個lib
            @classyk
            Delay Load 實際上還是“靜態”加載。我想要一個真實的動態加載,編譯的時候可以不需要那個 .lib 的。嗯……舉個例子,用DLL作為某個插件系統里的插件。
            @123
            不過,我很不喜歡“鉆牛角尖”論。有一說一,有二說二,說錯了大可以請你賜教。但是你說人家“鉆牛角尖”,本質上來說就是認為沒有談論的必要,拒絕別人發表觀點,拒絕他人參與討論,可是你又不把你的觀點說出來,這叫什么態度嘛?你說是嗎?
            @123
            就事論事,從你你的例子來說,好像也確實不無道理。就看耦合的程度了。
            @Alemon
            可能是編碼問題吧,我的DLL是Unicode的,你的工程應該是_MBCS的吧。這樣子試試:
            BOOL bRet = ZWZipCompress(L"d:\\systemp.mdb", L"d:\\temp.zip");

            @Alemon
            只能解ZIP,解不了RAR。
            共12頁: First 2 3 4 5 6 7 8 9 10 Last 
            久久精品国产免费观看三人同眠| 99久久久精品| 伊人久久大香线蕉综合Av| 中文字幕日本人妻久久久免费| 亚洲国产另类久久久精品黑人| 久久精品国产精品青草app| 久久久久女教师免费一区| 午夜欧美精品久久久久久久| 99久久精品无码一区二区毛片 | 欧美亚洲另类久久综合婷婷| 久久精品一本到99热免费| 婷婷久久久亚洲欧洲日产国码AV| 久久天天日天天操综合伊人av| 久久久久99精品成人片试看| 亚洲国产精品综合久久一线| 国产午夜精品久久久久九九| 久久99精品久久只有精品| 久久发布国产伦子伦精品| 国内精品久久久久久野外| 曰曰摸天天摸人人看久久久| 久久久久亚洲av无码专区喷水| 精品久久亚洲中文无码| 久久久无码人妻精品无码| 97久久久精品综合88久久| 久久99国产精品成人欧美| 久久天天躁夜夜躁狠狠躁2022| 久久人与动人物a级毛片| 色婷婷综合久久久久中文一区二区| 亚洲αv久久久噜噜噜噜噜| 久久久久高潮毛片免费全部播放| 国产精品久久久久久久久| 久久精品视屏| 久久国产精品久久久| 久久天天躁夜夜躁狠狠| 国产亚州精品女人久久久久久| 久久久久亚洲AV无码观看 | 一级做a爰片久久毛片16| 亚洲国产精品综合久久一线| 成人精品一区二区久久| 偷偷做久久久久网站| 精品久久久久成人码免费动漫|