作者查詢 / LPH66
作者 LPH66 在 PTT [ C_and_CPP ] 看板的留言(推文), 共6694則
限定看板:C_and_CPP
看板排序:
全部Math8895C_and_CPP6694Minecraft2013puzzle1798Little-Games1256PHP992Web_Design736killercorp717java657SYSOP599Programming587Mathematica451Windows394IME389Prob_Solve389Ajax321RegExp298b94902xxx229PttBug229HOT_Game210Visual_Basic207Inference204Hunter198Steam168NTU-K9167KS94-317160EzHotKey138BoardGame131Conan122HarryPotter120CSSE116Flash104Database96GameDesign94AndroidDev91Android90Kindaichi_Q88Wikipedia74LaTeX71BBSmovie59SMSlife57DeathNote54riddle52Weyslii49wretch42IMO_Taiwan38Suckcomic38b96902HW37NTU37b94902HW35Doraemon30NTU-MAGIC26NTUDormM723NTUcourse21ONE_PIECE19b95902xxx18KSHS_Talk18b95902HW15NTNU_Lin_9615PLT15C_Chat14CSCouncil11PttCurrent11transgender9Translate-CS9VR9NTUDormG18Education7HSNU_10857KS93-3207NCKU-BEH957NDMC-D627PttNewhand7b99902HW6hikarugo6NtuDormM16youtuber6b96902xxx5b97902HW5CompilerDev5GO5L_LifeInfo5MJ5NSwitch5SummerCourse5tutor5Hsinchu4Liu4PushDoll4AppsForBBS3b98902HW3CSIE_WSLAB3Gossiping3Kao-KSHS3KS93-3163NARUTO3NTUST-DT93-23RSSH94_3013b97902xxx2ck50th3232ck55th3252ck58th3122CS_Badminton2CSIE_Mahjong2NANLIN3012NDHU-His962NTUDormFJr2NTUGIEE_EDA2PCman2PCSH91_3052PttSuggest2PttWeb2SFFamily2WinMine2Abin1AGO1Aquarius1Army-Sir1ASHS-93-li1AskaYang1B92310XXX1b99902xxx1blind_pc1Browsers1CCSH_92_3161CGU-MED-991CGU_EE981ck55th1201ck55th3241ck56th3181CK84Courage1CLHS-53-131CM38th071consumer1CPU_AM7011CPU_FC7311CSMU-MED941CTSH913021CTSH923051DaZhi6thH3021Eclipse1FJU-AM-901FJU-BA92C1FJU_GF1FSHS-94-3181Google1Grad-ProbAsk1Greenfield1HKday1Hoobastank1HORTUS-911HSNU_10731HSNU_9291HSNU_9381HSNU_9581HSNU_9851HSNU_9891HSNU_9901Hu_Yen_20041HY-40-Xin1ILSH-943131INSECT-901Itchie1Jay1JH30th3061Jinmen1joke1kekkai1KhalilFong1KS90-3091KS94-3151KS94-3211KS98-3021lab6211LD_IM93-21MATLAB1MDscience6th1Moto_GP1MuscleBeach1NCCU00_Stat1NCCU02_PSYCH1NCCU03_ETHNO1NCCU03_PF1NCCU04_MAT1NCCU04_Stat1NCCU98_RMI1NCCU99_Stat1NCHU-AGR001NCHU-AGR071NCKU-PH981NCUFingrad031Network1NIUECE911NTNU_bridge1NTOU-YP1NTPU-JLAW941NTPU_CK_CM1NTU-GIIB20021NTU-GIIB20041NTU95thLIS1NTUBIME-1021NTUCH-941NTUDormM61NTUE-Art961NTUE-CS1031NTUE_Nse961NTUE_Nse981NTUHistory881NTUHorti961NTUKGA1NTUMath911NTUMath941NTUMT-921NTUMystery1NTUNewPlace1NTUST-DT92-11NTUT_EE490A1NUTN_SSSS1Oguri_Shun1Old-Games1onlychild1Peitou29t3161Penny1PERCUSSION1PokeMon1PttHistory1Romances1RSSH93_3071SCU_ACCM971SM02th031SM05th3xx1SOFTSTAR1SSSH-13th3111STDM-87-3051Stephen1streetsinger1TFGCRC1THU-P-Softbo1TigerBlue1TMU9711Translation1TSH97_YK1Ur-hsing1VET_921w-inds1wegoJT3021WuLing46-3051WuLing46-3171YP91-3121YP92-3011YP92-3031YP94-3141<< 收起看板(252)
8F推: amortized O(1) 的不是 insert 喔, 是由於重新分配空間03/24 23:49
9F→: 而複製的資料的個數03/24 23:49
10F→: 單純的任意位置 insert 依然是 O(n)03/24 23:50
11F→: 如果你是說 push_back 的話那才是03/24 23:51
3F推: 正確說來你最後一段講的那個為了對齊這回事是 ABI 在管的03/17 01:33
4F→: 它是屬於 calling convention 的一部份03/17 01:38
12F→: 其實我個人認為用 noexcept 問有沒有這個 constexpr03/13 19:52
13F→: 某種程度上算是那種非正常用法 XD03/13 19:52
14F→: 嘛不過這連結裡的東西都是這種非正常用法就是了03/13 19:52
1F推: 原則上可以但建議不要, 因為你不會時常檢查有沒有刪03/12 21:12
2F→: 稍微好一點的方法是再寫一個負責刪的, 然後要刪時記得呼叫03/12 21:12
3F→: 更好一點的是用一個類別把它封起來, 這裡你有 vector 能用03/12 21:13
4F→: 不管如何, 這部份請去找你學程式的地方一定有說明03/12 21:14
8F→: const 沒有, 不過我猜寫 14 那個是編譯器看到了所以幫做03/12 21:09
11F推: 開頭的亂碼的原因是你的 word 是字元陣列不是字串03/12 18:27
12F→: 因此你不能對它使用字串的函數03/12 18:28
13F→: 這包含直接 cout 也算, 你必須一個字元一個字元 cout03/12 18:28
14F→: 迴圈動作是「條件成立時繼續」喔, 比較一下你的外層迴圈03/12 18:30
15F→: howlong < ANS.size() 在迴圈中是「成立」的03/12 18:30
24F→: 但是他這裡的用途就不是當做字串用...03/13 12:51
25F→: 同樣是 char[], 到底是字元陣列還是字串是用的人要注意03/13 12:51
26F推: string 可以直接 cout 沒有問題03/13 19:43
27F→: 但如果你的建立方式是跟這篇上面的程式碼一樣的話會有問題03/13 19:43
28F→: 問題在於 string 你要嘛請他自己黏進去 (用 + 就可以了)03/13 19:44
29F→: 要嘛你先請他開一個空間 (.resize) 再用 [] 填字進去03/13 19:44
30F→: 不能什麼空間都不開就填字03/13 19:45
31F→: 以你是新手的話那就用 + 把字黏進字串裡就行了03/13 19:45
32F→: 大概像是 password = password + word[i + key]; 這樣03/13 19:46
33F→: 亂碼的底層原因是上面 Killercat 講的那樣03/13 19:46
34F→: 但根本原因還是你在這裡誤用到了「C 字串」的處理函式03/13 19:47
35F→: 關於 C 字串你暫時不需要知道 (你已經有 string 了)03/13 19:48
36F→: 只要知道一個字元陣列很多時候會被當成 C 字串03/13 19:48
37F→: 但你這裡並不是當做 C 字串來使用的, 所以不能使用它03/13 19:49
38F→: 這部份要在這裡講要不少東西, 你可以去問你的老師03/13 19:50
12F推: C++17 不是已經在眼前了嗎...03/08 13:19
1F推: 其實 decltype 大多數時候已經夠用了就是03/07 23:28
2F→: 真的要用到 typeid 的我只想到跟反射 (reflection) 相關03/07 23:29
10F推: NULL 其實是個很有趣的東西03/04 18:10
11F→: 版上的 C 語言常見誤解對此有詳細說明, 可以去看看03/04 18:10
12F→: 簡單說就是 NULL 和 0 之間的關係沒有你想的那麼單純03/04 18:12
13F→: 然後 C++ 還有 nullptr, 這個也請看版上講空指標常數那一篇03/04 18:14
15F推: 剛才找了一下跟 if 相關的東西, 我的印象沒錯03/05 04:00
16F→: C 的 if() 裡面是當做數值, 概念上等同於多寫一個 != 003/05 04:01
17F→: 這也是因為 C 語言沒有單獨的布林值, 所有判斷式都是 int03/05 04:01
18F→: 判斷條件成立則結果為整數 1, 不成立則為整數 003/05 04:02
19F→: 但 C++ 由於有獨立的 bool 型態, if() 裡面是轉成 bool03/05 04:03
20F→: 再看它究竟是 true 還是 false 決定03/05 04:03
21F→: 所以 if(s) 在 C 約等同於 if(s!=0)03/05 04:04
22F→: 但在 C++ 是約等同於 if((bool)s)03/05 04:04
17F推: placement new 只是把"要空間"跟"初始化"兩件事分開而已03/03 00:03
18F→: alignment 是"要空間"部份旳問題, 跟初始化無關03/03 00:03
19F→: 然後事實上 pA->Init() 跟 placement new 其實有 87% 像03/03 00:04
20F→: 最後, 問於一樓的問題, 如果 class 是 standard layout03/03 00:06
21F→: 那各元素的位置是確定的, 這時可以做一些手腳去達到對齊03/03 00:07
22F→: 不是 standard layout 基本上就不行了03/03 00:07
24F→: 倒過來, POD 是 standard layout 的一種03/03 00:11
25F→: 但 standard layout 可以包含一些有限度的繼承03/03 00:12
29F→: 喔, 那裡框框中那三行是 and 的關係, 不是 or 的03/03 00:20
30F推: placement new 是對任何 C++ 物件型態都能進行的操作03/03 00:29
31F→: 它就只是把你給的指標當做物件未來的所在地進行初始化而已03/03 00:30
33F→: 所以我才會說這跟你的 pA->Init() 有 87% 像03/03 00:32
34F→: standard layout 最大的好處是成員位置固定03/03 00:33
35F→: 因此可以拿來當做一些二進位資料交換的用途03/03 00:33
36F→: 那也因為位置固定, 所以只要知道想要對齊的成員是怎麼排的03/03 00:34
38F→: 就能調整開始位置使得其成員處在對齊的位置上03/03 00:34
39F→: serialization 是另一回事了, 這裡指的是整包寫出去那種03/03 00:35
40F→: 例如二進位檔案格式那樣03/03 00:35
42F推: 對, 這也是為什麼 offsetof() 可以用在 standard layout 上03/03 00:56
43F→: (或者該說「只能用在 standard layout 上」)03/03 00:57