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

隨筆-90  評論-947  文章-0  trackbacks-0
共12頁: First 4 5 6 7 8 9 10 11 12 
哈,關注~
@OwnWaterloo

那個反向迭代器,是不是可以把正向迭代器當模板參數,在++里讓正向迭代器--,在--里讓正向迭代器的++,正向迭代器的end狀態當成反向迭代器的end狀態?
@OwnWaterloo

其實我個人基本不怎么會去繼承,也基本不會去多態,我喜歡用組合。但是難保別人不會,所以我經常隨手丟下虛析構函數
@OwnWaterloo

這么說來好像也很有道理...發現OOP的影子被你砍得一點不剩了,哈哈
@OwnWaterloo

一般來說,虛析構函數用于告訴使用者該類“可繼承”,是嗎?既然這里沒有什么不可告人的秘密,那么就隨他去好了。(當然,如果有人真要繼承,則必須了解里面的運作機制。這是他自己的事。)這樣理解可以嗎?
@OwnWaterloo

定義一個相似的類?
@OwnWaterloo

放著讓好事者(也就是將來某一時刻的我自己)去繼承...
@codejie
那,木有了
enum T
{
T1 = 0,
T2,
// ...
Tn,
T_MAX
};

讀 T_MAX 確定個數
@OwnWaterloo

就是傳說中可以打包提交的?
我以前有一陣子一直在找代碼托管,可惜都開源的,google code 只允許有一個私人項目。。。可我哪有那么多東西能拿出手呀,,于是,只好在自己機器搭了個svn。。
@zdhsoft

google那個規則怎么樣的?別人可以改我的嗎?
re: C++完美實現Singleton模式 溪流 2009-11-11 09:56
“線程安全”其實也沒有那么必要處處提到的,有點過于炒作的感覺。真要計較起來,大部分代碼都不是線程安全的。
@OwnWaterloo
這點有點明白了,一開始多了,而以后必須向下兼容,于是肩上的包袱就永遠卸不下來了,是嗎?
@OwnWaterloo

添加到無法再添加 我并不十分支持。
但是 減少直到無法減少,我也不盡贊同。我覺得 STL 里的東西,就是這種狀況,要什么沒什么,只能根據已有的少得可憐的東西去湊出來,換句話說,要用到日常開發中來,經常需要自己再包一層。

我覺得還是以方便使用為原則合理添加一些可有可無的東西比較好。。。

——目前的觀點,呵呵
@OwnWaterloo
1、這種巧合就是你先前說的GP中的“契約”吧。我心里就是有道坎跨不過去,覺得沒法在語法層面顯式呈現這個契約,,,唉

2、關于零依賴
我知道很多東西不可能做到零依賴,或者做到零依賴代價很大。
只是我的設想是,在一套東西里,有一個基礎部分,它只和語言特性有關、只有邏輯意義,這一部分要保持零依賴。其它實現各種實際功能的東西,可以有選擇的去依賴別的。如果把 Format 看成 String 的一種擴展功能,我本身在寫 String,為了實現 String 的一個功能,去使用了現有庫的這種功能,那我不過在做包裝而已,而不是寫東西了。

也許 Format 也算不上純屬 String 的功能,你后面給我的啟示看上去很有意義……

3、
multimap 確實不是這個語義,可能可以勉強湊合吧。只是我想不到非用 multimap 的場合……

我原本想搞個
template <typename IFirst, typename ISecond>
class ComplexIterator

想先 ISecond ++ 上去,到 End() 了 IFirst++,ISecond=IFirst->Begin()

然后直接 typedef ComplexIterator<typename Set<List<T>>::Iterator, typename List<T>::Iterator> MultiSet::Iterator

后來發現需要迭代器自己確定自己是否是 Begin,于是暫時放棄

關于反向迭代器,以及正向的,我一開始想各個容器能否以某種形式提供某一個 ++,-- 的機制,然后統一實現 Iterator,但是想不好用怎樣的形式……



@lo

呵呵,雖然其實一樣,不過也算個手段~
@expter

謝謝支持!
@CornerZhang

是。追溯到很久以前,其實我發明輪子的最初動力是 STL 里的 string 太難用。我就是想提供不一樣的使用方式。也排斥迭代器。最早寫的是一個類 vector 的東西,就不提供迭代器,照樣可以用得很爽。到要寫 List 的時候,就不行了,如果要不暴露結點,那么必須有類似迭代器的一套東西了。于是回過頭來想想 STL 的這套方式,覺得倒真不錯。所以又反過來學著它了。
@OwnWaterloo

那么說基本上不可以咯?
re: typedef用法小結 溪流 2009-11-06 09:44
恕我2b了,第二種是什么用法?
LZ 也沒有搞得很清楚么。。。

另外,CString 可能是 CStringW/CStringA,在與 string 轉換時,如果是 CStringW,還涉及編碼轉換問題。下面以 CStringA 來說明。

 

1 string to CString  

  CString.format("%s",string.c_str());

 

CStringA = string.c_str() 就可以了

 

2 CString to string

string str(CString.GetBuffer(str.GetLength()));

 

GetBuffer 有參數的話,可能導致內部的分配空間動作,要進行后續 ReleaseBuffer 操作。


string = CStringA


string = CStringA.GetBuffer();

 



3 string to char *

char *p=string.c_str();

4 char * to string

string str(char*);

5 CString to char *

strcpy(char *,CString,sizeof(char));

按照 3 風格,這里應該 char *  = CStringA; 或者 char *p = CStringA.GetBuffer();

 

6 char * to CString

CStringA = char * 就可以了

 

這種使用方式看上去還是很爽的
同求消息機制
mark. thx.
re: C++引用優于指針 溪流 2009-10-27 16:59
@Johnson
一種認為指針優于引用的理由是,指針有時候更醒目,提醒開發人員,該函數要對傳入參數進行修改:


我也這么認為
re: C++引用優于指針 溪流 2009-10-27 16:59
@Johnson

RE。這一段不知道摟住再說什么
Win32 Console Application 不是運行在DOS虛擬機(NTVDM)下的,它是一個真真實實的 Win32 程序。它同樣可以使用 MFC 中的類。

與 GUI 程序相比,其實只是 PE 頭中一處標記不同而已。
被這樣面試過,就是被刷了也服了
@路人
這個說法好不嚴謹,這條射線與多邊形頂點相交、與邊重合的情況
@Ocean.Tu

“像女生的裙子”是怎么樣的?
@陳梓瀚(vczh)

所以堅決 Unicode、遠離庫函數嘛~
文件讀寫我覺得還是直接用 API 比較好。特別是文本文件。
1、反正不可能跨平臺
2、為了更好的支持 Unicode
re: 很傻很天真之Array 溪流 2009-10-12 13:02
@陳梓瀚(vczh)

嗯!這個方法不錯!
re: 很傻很天真之Array 溪流 2009-10-12 11:35
這樣能過:

class ArrayDimension
{
public:
int Data[MAX_ARRAY];
int Dimension;

ArrayDimension();
ArrayDimension(const int index);
ArrayDimension(const ArrayDimension &that);
ArrayDimension& operator,(const int index);
};


template<typename _Type>
class Array
{
private:
ArrayDimension DimensionInfo;

public:
Array(const ArrayDimension Info);
};

Array<int> arr((3, 2, 1));
@foxinhongyan

在追求性能的地方(如 ACM),通常不容易看到好代碼:)
@OwnWaterloo

非常歡迎吐槽~哈哈
關于侵入式和非侵入式,說實話我也是前幾天第一次聽你說。我稍微查了下,不是很確切的了解其含義。前面我在 Iterator 里放了個 Array *m_pArray,后來拿掉了,改成放一個 ValueType *,有沒有改變侵入式/非侵入式方面的屬性呢?
@OwnWaterloo

讀了這么多文字,真是受益良多。

但必須指出的是,上面對于 OOP 和 GP 的某些比較是不公平的。在 OOP 中,只有你需要去繼承它的時候(即你需要修改這個類),你才需要了解源代碼,需要了解跟實現相關的“契約”。如果僅僅是使用的話,那么,給出全部 public class 的 public method 的聲明,應該所有的使用者都不會犯語法錯誤,編譯器會提供完備的類型檢查。而同樣是使用(并不是去修改),GP 中,卻需要去了解它的實現,這不是很不公平嗎?我們不是追求為了隱藏不必要的細節,讓使用者減輕負擔嗎?當然,如果要去修改它,那么對它的實現是必須要了解的了。
@陳梓瀚(vczh)

我覺得,出現在具體實現上的編譯錯誤,本不應該留給用戶的。最好是在類型檢查的時候就能報錯。
@陳梓瀚(vczh)

嗯……iterator 一般有哪些約定成俗的規則?
@陳梓瀚(vczh)

virtual IEnumerator<T>* CreateEnumerator()const=0;

這個,到使用的時候:
IEnumerator<T>* p = CreateEnumerator();
然后求用戶去 delete 嗎?
@OwnWaterloo

如果有個 template <T> where T is IIterator,用戶看接口定義就知道該怎么做了;可是現在,只能到調用 Iterator 的某個具體方法的時候才報錯,用戶理解這個錯誤,就要理解我的實現了。這不僅增加了學習代價,還在一定程度上違背了封裝的初衷,不是么?一點變通的辦法都沒有嗎?
何處下載?
re: 開始把庫搞起來了 溪流 2009-09-28 00:27
@OwnWaterloo

打算這樣,如何?

namespace xl
{
    typedef unsigned 
char uchar;
    typedef unsigned 
short ushort;
    typedef unsigned 
int uint;
    typedef unsigned 
long ulong;
    typedef 
long long longlong;
    typedef unsigned 
long long ulonglong;

    typedef wchar_t wchar;
    typedef unsigned wchar uwchar;

    typedef __int8 int8;
    typedef __int16 int16;
    typedef __int32 int32;
    typedef __int64 int64;

    typedef unsigned int8 uint8;
    typedef unsigned int16 uint16;
    typedef unsigned int32 uint32;
    typedef unsigned int64 uint64;

    
struct
    
{
        template
<typename T>
        
operator T*() const
        
{
            
return 0;
        }


    }
 nullptr;

}
 // namespace xl


我的目的主要是為了書寫簡潔,其他的其實對我來說關系不大,暫時主要考慮 Win + MSVC 平臺。nullptr 的定義真的好精妙!
re: 開始把庫搞起來了 溪流 2009-09-27 23:58
@OwnWaterloo

是的,現在是用不著 DWORD,但是以后一些功能庫會用到。
stdint.h 中的類型名稱似乎也不怎么干凈利索。
要不就直接用標準名稱好了?只是我很不喜歡 unsigned int, size_t 這種寫法。
re: 開始把庫搞起來了 溪流 2009-09-27 22:35
@OwnWaterloo

1、關于 typedef

第一,我想我要寫的庫要保持獨立性。如果去包含了 Winows.h 了,那么就失去了這一部分的獨立性了。在做容器方面的東西的時候,實際上我根本不會用到 Windwos API,而這一 include,增加無畏的依賴的同時,還把平臺陷死了(雖然我不準備搞多么跨平臺的東西,但是明明可以不依賴的,還是不要去依賴,是嗎?)

我想,庫的用戶可能不需要去寫太多次 a::DWORD、b::DWORD,只要他們的定義是兼容的,傳入的值就可以用。

其實我最頭痛的就是 Windows.h 把這些名字都占去了,而且是全局的,是的用戶無法簡單地寫一個 DWORD 來定義 Windows.h 中的 DWORD 了。我知道加前綴不是好的解決方案,可是還有其他一套如此通用的名字嗎?
re: 開始把庫搞起來了 溪流 2009-09-27 20:33
@OwnWaterloo

先謝過您的這么詳細的指點。等我仔細看過后再來提后續問題:)
@Pencil.C++

呵呵,客氣客氣。我也想著什么時候出個新版本,然后把舊版也開源開源,可就是沒時間搞了,郁悶~
re: 開始把庫搞起來了 溪流 2009-09-27 15:51
@陳梓瀚(vczh)

你的意思是說 Tree::Node 沒必要暴露出來嗎?再問一下問一下,你覺得基礎庫里有必要存在二叉樹這種結構嗎?還有沒有必要以及可能包含圖的結構呢?
re: 開始把庫搞起來了 溪流 2009-09-27 15:49
@陳梓瀚(vczh)

陳老師你好,我一年多前實習的時候因為公司不允許使用STL、MFC等等所有流行的庫,叫我們“用到的數據結構自己寫”。當時只寫了個 Vector、String,足以應付任務了。不過我就是從那時開始明白寫庫的意義,以及感受到用自己的庫的那種爽快的感覺的。

很佩服你的技術,粗看過你的代碼,我知道你把基礎數據結構全部實現了一遍,甚至regex,以及在代碼里寫 EBNF,等等。(我第一篇日志的開頭語不知道您看過了沒,呵呵)

我也想不走老路,不過有些東西可能不走一遍不會明白,所以我想可能先自然一點,到第二遍、第三遍再來總結以及回避已知問題。關于你說的4點,我比較想了解原因以及大概做法,可否稍微解釋下?特別是1和2,這個是現在就擺在我面前的。然后是3、4,我可以聽一聽,雖然可能不是馬上體會得到。
請問你這個有沒有發布過,發布名稱叫啥?(我是 xlWarKey 作者,這廂有禮了~)
@msnegg

Why nmake? Why not devenv or VCBuild, or cl ?
共12頁: First 4 5 6 7 8 9 10 11 12 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一线二线三线久久久| 亚洲成色www8888| 欧美日韩日本网| 久久久久一区二区三区| 亚洲午夜国产一区99re久久| 欧美激情第二页| 亚洲成人在线视频播放 | 久久香蕉国产线看观看av| 中文日韩欧美| 亚洲欧美视频一区| 久久er精品视频| 免费观看成人鲁鲁鲁鲁鲁视频| 久久免费视频这里只有精品| 久久精品二区亚洲w码| 欧美一级片一区| 欧美大片一区二区| 欧美性jizz18性欧美| 国产乱子伦一区二区三区国色天香| 国产精品女主播| 亚洲电影av| 欧美一站二站| 亚洲黄色在线看| 欧美一级在线亚洲天堂| 欧美劲爆第一页| 宅男噜噜噜66一区二区66| 亚洲欧美日韩视频二区| 久久性天堂网| 韩国av一区二区三区四区| 一区二区三区导航| 欧美国产亚洲视频| 久久不射电影网| 国产午夜精品久久久久久免费视| 在线观看欧美激情| 久久精品国产清自在天天线| 亚洲毛片在线免费观看| 久久久亚洲影院你懂的| 在线成人免费视频| 久久久久国产成人精品亚洲午夜| 99成人精品| 欧美日韩综合视频| 亚洲永久免费观看| 亚洲小视频在线观看| 国产精品视频观看| 午夜精品久久一牛影视| 这里只有精品丝袜| 国产乱码精品一区二区三区av| 亚洲一区精品视频| 亚洲女同在线| 亚洲成色www8888| 亚洲经典自拍| 国产伦理精品不卡| 欧美.日韩.国产.一区.二区| 美日韩在线观看| 亚洲一区二区欧美日韩| 亚洲欧美在线一区| 伊人久久婷婷色综合98网| 亚洲精品1区2区| 国产一区二区成人| 亚洲成在线观看| 亚洲综合精品一区二区| 好吊色欧美一区二区三区视频| 免费亚洲视频| 欧美婷婷久久| 欧美激情一区在线| 狠狠色综合网| 亚洲在线播放| 亚洲资源在线观看| 欧美日本精品| 亚洲国产一区在线| 今天的高清视频免费播放成人| 亚洲国产日韩在线| 在线观看欧美亚洲| 香蕉亚洲视频| 香蕉免费一区二区三区在线观看| 欧美精品七区| 91久久久一线二线三线品牌| 亚洲第一在线综合在线| 久久精品99久久香蕉国产色戒| 午夜天堂精品久久久久| 国产精品视频一二三| 亚洲一区二区成人| 久久成人亚洲| 国产亚洲激情| 久久久亚洲高清| 亚洲国产另类久久久精品极度| 一区二区在线看| 欧美成人午夜激情在线| 亚洲精品之草原avav久久| 中文高清一区| 狠狠色狠狠色综合日日tαg| 久久久www成人免费无遮挡大片| 久久影视三级福利片| 亚洲春色另类小说| 欧美日韩国产不卡| 久久精品九九| 99精品国产99久久久久久福利| 亚洲综合首页| 久久xxxx精品视频| 亚洲久久在线| 麻豆av福利av久久av| 一区二区三区欧美激情| 国产主播一区| 国产精品久久久久婷婷| 久久中文在线| 欧美一二三区在线观看| 亚洲人成啪啪网站| 美国成人毛片| 久久九九全国免费精品观看| 一级成人国产| 亚洲久久在线| 亚洲黄色影院| 亚洲国产小视频在线观看| 国产一区二区av| 国产一区二区三区电影在线观看 | 午夜精品美女久久久久av福利| 136国产福利精品导航网址应用| 国产精品美女久久久免费| 欧美日韩在线免费| 欧美日韩亚洲综合一区| 欧美国产精品中文字幕| 久久阴道视频| 欧美成人综合| 欧美色欧美亚洲另类二区| 国产精品高潮呻吟久久av无限| 欧美色大人视频| 国产精品久久久久久久久久久久久| 欧美日韩不卡| 国产亚洲人成网站在线观看| 国产一区二区视频在线观看| 国产日韩在线一区| 91久久精品国产91性色tv| 制服诱惑一区二区| 久久精品欧美日韩| 欧美本精品男人aⅴ天堂| 91久久国产综合久久91精品网站| 99精品国产福利在线观看免费| 亚洲福利小视频| 这里只有精品丝袜| 欧美一区二区三区久久精品茉莉花| 亚洲一区二区三区高清| 欧美一区二区成人| 欧美黑人国产人伦爽爽爽| 亚洲欧美成人网| 久久蜜桃av一区精品变态类天堂| 欧美精品亚洲精品| 国内精品视频在线观看| av不卡在线看| 久久在线免费观看| 香蕉久久一区二区不卡无毒影院| 欧美区二区三区| 亚洲人成小说网站色在线| 久久久无码精品亚洲日韩按摩| 亚洲视频在线观看视频| 六月丁香综合| 亚洲欧洲精品一区二区三区不卡 | 国产美女精品视频| 一区二区欧美视频| 玖玖在线精品| 欧美中文在线字幕| 亚洲免费电影在线| 含羞草久久爱69一区| 国产日韩亚洲| 在线观看一区| 亚洲激情另类| 亚洲欧美国产77777| 久久夜色精品一区| 久久免费视频这里只有精品| 国产精品久久久久久亚洲毛片| 亚洲精品中文字| 久久人人爽人人| 久久婷婷影院| 日韩午夜激情av| 欧美日韩国产麻豆| 在线一区观看| 午夜激情综合网| 在线日本高清免费不卡| 亚洲黄色免费| 国产一区久久久| 日韩午夜免费| 久久在线免费| 国产精品国产馆在线真实露脸| 久久久久久久久久久久久9999| 欧美激情精品久久久久久大尺度| 亚洲一卡久久| 欧美成人激情在线| 午夜久久黄色| 欧美三级网址| 亚洲精品乱码久久久久久久久| 国产自产女人91一区在线观看| 亚洲精品日韩久久| 91久久在线观看| 久久久亚洲午夜电影| 欧美69视频| 在线欧美日韩国产| 久久综合给合久久狠狠色 | 亚洲精品一区二区在线| 亚洲大胆女人| 久久综合九色综合久99| 久久在线视频| 亚洲美女黄网|