其實這種extra byte的辦法,很多庫都有。.net的component也多有object類型的tag。這個是應用程序定制的好辦法。
int str_len = 819200;
char* old_str = new char[str_len+1];
char* new_str = new char[str_len+1];
for( int i = 0; i < str_len; ++i ){
old_str[i] = 'a' + i % ('Z' - 'a');
}
old_str[str_len] = '\0';
std::string strcopy( "String Copy: ");
{
timer t(strcopy);
for (int i = 0; i < 1000; ++i ){
strcpy(new_str, old_str);
}
}
cout << strcopy << endl;
std::string strlen_memcpy( "Memory copy with String length: ");
{
timer t(strlen_memcpy);
for (int i = 0; i < 1000; ++i ){
memcpy(new_str, old_str, strlen(new_str) );
}
}
cout << strlen_memcpy << endl;
String Copy: 0.780090s
Memory copy with String length: 1.013676s
很顯然還是后者要慢一點。
re: 失足于shared_ptr 空明流轉 2011-04-02 11:42
還好,這個一般也會獲得返回值優化的。
一般牽涉到類型轉換,返回的時候都要小心。
re: 失足于shared_ptr 空明流轉 2011-04-01 21:38
呃。難道你到現在都不曉得咩。。。
re: sizeof 我的一個誤區 空明流轉 2011-03-21 19:16
numeric promotion.
re: 插值算法,質量對比圖示【原創】 空明流轉 2011-03-21 15:14
@zwp
@大海
是同一張圖片。左邊是旋轉后的圖,右邊是局部放大的效果。。。
@kid
看編譯器的,你應該找找GCC 4的新的編譯辦法。而且不同版本的libg2c都不一樣,沒辦法發給你的。
re: 關于內存分配優化的一些討論 空明流轉 2011-03-18 14:28
@Kevin Lynx
Allocator一定要有線程安全性。
re: 如何書寫權威的程序庫頭文件 空明流轉 2011-03-18 14:22
@zuhd
這個是為了避免namespace在大多數IDE的自動格式化中導致縮進。
re: 如何寫出高質量的函數 空明流轉 2011-03-10 10:31
高質量的函數,首先要能瞎JB寫,然后要敢蝦JB改。。。
re: 關于CppUnit的使用? 空明流轉 2011-03-03 15:51
這個時候加入Cpp Unit的主要目的,在于debug的時候有一個比較小的測試集容易尋找問題,同時也在修bug和重構的時候有一個可以控制的回歸。單元測試可以加,但是盡量不要對項目進行大的調整。
re: 關于CppUnit的使用? 空明流轉 2011-03-03 11:12
對于TDD來說,單元測試是開發驅動,當然很重要。如果不是TDD,那主要是回歸用。
@陳梓瀚(vczh)
我想知道GDB里面怎么配置這個玩意兒。
re: 寫程序真他媽爽啊 空明流轉 2011-02-26 11:47
我覺得UI是這個地球上最復雜的東西了。
re: 寫程序真他媽爽啊 空明流轉 2011-02-25 14:01
牛逼
re: 春節隨想——人的標簽 空明流轉 2011-02-09 12:10
寫得好。
re: 2009-2010小結(五)離職始末 空明流轉 2011-01-27 11:12
居然沒太監。
re: 2009-2010小結(四) 空明流轉 2011-01-26 10:08
這哥們兒就是個技術管理者,看誰都不看不慣。。。搞技術的人確實有這個問題,手伸的太長。。。
re: 圖形學真是一個打發時間的好東西(二) 空明流轉 2011-01-21 13:24
師祖大人越來越牛逼了!
re: 我的游戲編程之路(一) 空明流轉 2011-01-17 13:12
按照我的理解,凡是標注123的帖子,最后95%都太監了。
re: 我的游戲編程之路(一) 空明流轉 2011-01-17 10:25
牛逼!高手!資深!
re: C++ 多重繼承的強制類型轉換。 空明流轉 2011-01-12 20:26
這個和多重繼承也沒關系。
re: 圖形學真是一個打發時間的好東西 空明流轉 2011-01-10 10:27
@ooseven
C++的IS難做其實是C++特有的問題。別的語言都沒這么夸張。
re: C、C++程序潛入解釋性語言 空明流轉 2010-12-27 19:15
swig。
re: STL學習筆記 空明流轉 2010-12-27 19:14
沒必要看源代碼,手冊已經很清楚咧。。。
re: 我的編程元年 空明流轉 2010-12-22 21:26
@叫我老王吧
習慣,特別是碰到https的網站,不打就是自己找虐。
re: 我的編程元年 空明流轉 2010-12-22 20:10
我每次都加http,現在也是
re: 我的編程元年 空明流轉 2010-12-22 16:29
@叫我老王吧
表示印象深刻。
re: 我的編程元年 空明流轉 2010-12-22 15:16
vczh 說:
那個人竟然96年就basicl了
ye.wu 說:
96年我還是5年級
vczh 說:
我大概是4年級
ye.wu 說:
小學生握手。
vczh 說:
同
你竟然比我高一屆
ye.wu 說:
廢話
vczh 說:
難道你初三才開始寫
ye.wu 說:
這個必須的
我從高一開始
vczh 說:
哦
ye.wu 說:
算到現在整10年
re: 我的編程元年 空明流轉 2010-12-22 15:10
@陳梓瀚(vczh)
同求。。。。
re: 10年編程之路(2010年度總結) 空明流轉 2010-12-19 23:59
啊哈哈,老子寫完了。。。
re: 10年編程之路(2010年度總結) 空明流轉 2010-12-19 20:12
我也得寫一篇十年了。
re: 想討論個話題,關于DLL的使用方式 空明流轉 2010-12-18 23:19
CreateFuck();
DeleteFuck();
回答你部分問題的說,
第一個,內存映射會吃你的地址空間,所以也就是只有2G可用,在32bit下。
如果你需要巨大的空間,建議使用64bit,或者使用其他的存儲方案,比方說B-Tree;
第二個問題,關于Address Overlapping的問題,因為第一條,所以不會的。