作者查詢 / Killercat
作者 Killercat 在 PTT [ C_and_CPP ] 看板的留言(推文), 共2545則
限定看板:C_and_CPP
看板排序:
全部car23075Gossiping21498Road8505WOW5471MAC5469MRT5403iOS2618C_and_CPP2545HatePolitics1681SuperBike1605RealPlaying1333creditcard1324biker1070java845DIABLO780IA758GameDesign756Hunter739points593AndroidDev584Soft_Job531Military529Tech_Job498Programming448MacDev392Bus352DigiCurrency311Aviation310KMT279MusicGame261Coffee244worldtrigger200Railway196TORIKO151L_SecretGard150MobileComm148ONE_PIECE144C_Chat141Little-Games120marvel114Claymore101DPP91ToS62Neihu60GuildWars53EV50fatworld42C_Sharp38MobilePay38home-sale37movie34LoveLive_Sip31SYSOP30DarkSwords28Tainan25joke22Lifeismoney21politics18NTU16Salary16Stock16TaichungBun16About_Life15IC-Card12hypermall11iPod11MOD_AP11PublicIssue11Teacher11HateP_Picket10L_LifeInfo10Taoyuan10Wanhua10FinalFantasy9L_RelaxEnjoy9PlayStation9Sub_CS9Google8AC_In7L_TalkandCha7LangService7Gintama6Gov_owned6HsinYi6Kaohsiung6LinuxDev6media-chaos6Windows6BigShiLin5Browsers5E-appliance5EverQuest25Linux5Python5Shu-Lin5ShuangHe5sky5SongShan5travel5Android4CrossStrait4CVS4Eclipse4EuropeanCar4FITNESS4ForeignEX4ONLINE4PingTung4TuCheng4Barista3ComGame-Plan3FuMouDiscuss3ID_Problem3KMU3marriage3nb-shopping3pighead3Post3rent-exp3SENIORHIGH3StockPicket3StupidClown3Translate-CS3WomenTalk3YOLO3Datong2fastfood2Hong_Kong2Hsinchu2HSNU_9212Hualien2image2Lawyer2Leo2LoL2MuscleBeach2NTUT_ME495A2Nurse2Policy2TaichungCont2AfterPhD1Ajax1ask1AskBoard1Azumanga1CarShop1cat1CodeJob1CPBL1CSSE1DeathNote1dog1EatToDie1FTV1Geography1GTA1Hearthstone1Hotel1ID_Multi1Jolin1Keelung1KOTDFansClub1KS93-3201L_LifeJob1License1Monkeys1nCoV20191NDHU-AIPhy1NUU_CSIE1PC_Shopping1PokemonGO1PttBug1San-Ying1SetupBBS1sex1soul1specialman1speech1StarWars1Steam1SuperIdol1TA_AN1tennisprince1Tigers1traffic1TuTsau1twin1WarCraft1<< 收起看板(188)
4F→:vector可prepend 不過的確,效能會很糟糕....05/11 14:53
7F→:這個我以前做過 用circular buffer來實作std::vector05/11 21:44
8F→:的界面,然後跟std::vector一樣的記憶體雙倍策略05/11 21:44
9F→:然後用memory pool來處理所有的segment management05/11 21:45
10F→:我記得有人有做過類似的東西,不算少見。只是這太深了05/11 21:45
11F→:不過基本上要解決效率問題 circular buffer是個解05/11 21:46
12F→:有興趣可以做做看 反正vector source code都放在那給你05/11 21:47
13F→:抄,最麻煩的幾個部分如[]等等眉眉角角照著寫就好05/11 21:47
14F→:這東西真的要討論我覺得要去演算法版討論了 =P05/11 21:48
1F推:用std::vector05/08 16:08
6F→:不過還是覺得std::vector幫你處理掉大部份的operator[]05/09 03:22
7F→:的語意上問題 真的要說最佳解的話 這應該排得上候選 :D05/09 03:23
9F→:相當認真啊...vector本來就可以這樣用 o_oa05/09 04:08
10F→:二維就用vector<vector<int> > 取值一樣可以c[a][b]05/09 04:09
11F→:vector唯一的問題就是邊界要自己管理(如果需要的話)05/09 04:10
12F→:然後vector很貼心的幫你用operator&讓你能轉回傳統array05/09 04:11
13F→:int* array = &v[0]; 好vector 不用嗎 XD05/09 04:12
19F→:vector可prepend 不過的確,效能會很糟糕....05/11 14:53
22F→:這個我以前做過 用circular buffer來實作std::vector05/11 21:44
23F→:的界面,然後跟std::vector一樣的記憶體雙倍策略05/11 21:44
24F→:然後用memory pool來處理所有的segment management05/11 21:45
25F→:我記得有人有做過類似的東西,不算少見。只是這太深了05/11 21:45
26F→:不過基本上要解決效率問題 circular buffer是個解05/11 21:46
27F→:有興趣可以做做看 反正vector source code都放在那給你05/11 21:47
28F→:抄,最麻煩的幾個部分如[]等等眉眉角角照著寫就好05/11 21:47
29F→:這東西真的要討論我覺得要去演算法版討論了 =P05/11 21:48
31F→:欸,對耶,當初是為什麼要搞的那麼麻煩(抱頭)05/12 11:37
32F→:是因為要放memory pool的關係嗎...05/12 11:38
6F推:我有個小問題,為什麼要清空?普通的做法是放一個marker05/08 13:35
7F→:來標示「這個地方往後到陣列終點皆為零」,跟C-Style05/08 13:36
8F→:string是完全一樣的道理(marker用\0即可)05/08 13:36
9F→:memset在某些情況下是一個非常昂貴的操作(尤其是mmap下05/08 13:37
10F→:你無法得知fd的消除成本),我會建議盡可能不要用這種粗05/08 13:38
11F→:暴的方式來操作會比較好一點。05/08 13:38
12F→:當然普通記憶體來講,memset是很便宜的。05/08 13:38
13F→:不過如果要達到你說的效果的話 memset是對的 只是正常05/08 13:45
14F→:設計來講,需要這種raw erase的機會真的不算太多05/08 13:46
18F→:那直接用c-style string直接用\0當marker就好 不用清空05/09 20:12
19F→:不過只是練習的話 那怎麼做都沒差就是 =P05/09 20:12
25F→:對,在大多數的情況下這種情況稱為memzero(來自於win3205/11 14:52
26F→:的同名巨集),在user space通常會被視為不是很推薦的05/11 14:52
27F→:寫法。雖然知道你只是練習,不過還是提醒一下05/11 14:53
5F推:strncpy的確是一個不錯的解法沒錯,不過換我的話05/07 16:57
6F→:既然有開檔的動作 那用ifstream::read來作讀取n個位元05/07 16:58
7F→:的動作我會覺得是個比較合適的作法。當然,mmap是最標準05/07 16:59
8F→:的geek寫法了... :D05/07 16:59
9F→:當然,要怎麼處理n個bit char會是幾個bit 該怎麼補005/07 17:00
10F→:我想才是這提的醍醐味(不過這種題目叫做喇賽題)05/07 17:00
15F推:這提應該是某提ACM的簡化版05/08 14:42
16F→:該ACM原始題目是binary, ascii範圍是0-25505/08 14:43
17F→:讀進來要parse成unsigned char然後用bit mask去取值05/08 14:43
18F→:算是數一數二的喇賽題 所以我還滿有印象的...05/08 14:44
20F→:欸這樣講也對 o_O 我忘記題目編號了 之前一直不過不05/08 17:24
21F→:知道是不是因為這個原因... xd05/08 17:24
11F→:139其實就是所謂的萬用錯誤sig 11吧05/07 07:29
12F→:你的code有stack堆積的問題嗎?在某些特殊情況下05/07 07:29
13F→:stack炸掉是回sig 11(不過我忘了其他情況回的是啥)05/07 07:30
16F推:我不認為查Sig11有幫助。這錯誤其實含擴大多數記憶體05/07 17:31
17F→:讀寫的疑難雜症(所以我才說叫做萬用錯誤 因為大概錯誤05/07 17:31
18F→:裡面95%都會丟Sig.11). 這範圍太大了,不過我還是建議05/07 17:32
19F→:看一下是不是stack炸掉,這是少數valgrind看不出的問題05/07 17:32
28F→:那就是stack炸掉沒錯。簡單的說,最常見的原因是local05/08 09:19
29F→:變數開太多 超出stack的範圍。另外還有一個隱含的可能性05/08 09:20
30F→:就是濫用alloc()。我很樂意幫忙debug 但是我現在手邊沒05/08 09:21
31F→:linux機器 XD... 只能從大家的feedback, code跟sig 1105/08 09:22
32F→:去猜是不是stack用盡造成overflow而已05/08 09:22
33F→:喔你是刻意產生stack overflow去看結果喔 我誤會了 =P05/08 09:23
34F→:發現少打一個字...是alloca()05/08 09:28
1F推:const_iterator的意思是「被itor指到的的東西是const」05/05 16:07
2F→:而不是「itor是const」05/05 16:07
3F→:另外你把vector<int>改成vector<const int>的話05/05 16:08
4F→:er...這有點tricky... 要C++11以後 算了 XD 當我沒說05/05 16:08
4F→:web app看給誰用 這主要是給消費者端用的05/05 09:46
7F推:Qt我也比較推 但是以前有使用許可的問題...05/05 09:45
5F推:其實這種小眉眉角角會造成一些跨平台靈異現象 =P04/30 04:49
6F→:所以該怎麼做最好照規定來。xcode可以選g++ or clang04/30 04:49
7F→:不過除了C++11剛出台那段時間兩者compile time偶爾會有04/30 04:50
8F→:對C++11支援不一的情況外 現在應該沒有編譯上的差別了04/30 04:50
18F推:我的意思是說 現在來講 沒有任何必要額外裝g++04/30 13:56
19F→:所謂按規定來 就是說你使用的東西最好都是「明確」包含04/30 13:57
20F→:不要說「因為好像能compile」就放過去,不然跑到別的04/30 13:58
21F→:平台運氣好就是編譯錯誤 運氣不好就是很奇怪的小毛病04/30 13:58
25F→:........先說 不是噹你 但是這真的是CodeSOD的標準文XD04/30 05:29
26F→:我只能說 你可能還沒學到你需要的技術 先跳過這個吧...04/30 05:29
27F→:等到你C++學到後面一點 應該就知道怎麼做了04/30 05:30