偶爾來避難的地方~
我一般編程的時候,喜歡用我自己設計的string類,最近在設計結構體的時候,我想到了一個適合結構體使用的string類的設計方法,不過可能我比較孤陋寡聞,這個方法以前就有人實現過,不過還是記錄下來。一般來說,string,至少需要保存一個char*的指針和一個int的長度,復雜點的,可能還需要更多的成員。這樣的話,我們需要至少8個字節來保存這個string對象(32bit下)。在部分場合,我們可能會希望把一個指針替換為一個string對象,或者把一個string對象,替換為一個指針,而且我們對結構體的大小很敏感,union也行不通。如果我們放一個string的指針,那么我們就需要new一個string對象出來,然后string內部再去new一個char[]的數組。為此,我想了一個辦法來解決這個問題。我在string內部引入一個context的東西,它保存了所有string的成員變量,然后結尾是字符串數組,形似下面這個結構:
Powered by: C++博客 Copyright © 飯中淹