作者查詢 / applecool
作者 applecool 在 PTT [ C_and_CPP ] 看板的留言(推文), 共326則
限定看板:C_and_CPP
看板排序:
6F推:請問維度是常數嗎05/24 19:06
6F→:應該說只能英文, 因為CODE可能被別人存成任何格式05/19 15:51
8F→:格式存錯還是可能通過編譯得到非預期的結果05/19 18:10
6F→:如果 n <= 64,可以直接用二進位累加的方式05/14 21:13
7F→:然後判斷每個 bit 決定要不要輸出就好05/14 21:14
8F→:n > 64 就看要不要用類似的概念這樣05/14 21:15
9F推:如果要自己實作無限長度的整數只要實作 ++ 和 != 就好05/14 21:18
10F→:不過 n > 64 非常的多,應該可以考慮限制使用者輸入範圍05/14 21:21
11F→:遞迴 n 太大感覺會爆,固定 n 編譯時展開也一樣05/14 21:23
13F→:對了整數要是 unsigned05/14 21:45
23F→:也不用太沮喪拉~其實不會很難05/15 19:25
24F→:for(unsigned int i=0; i!=(1<<N); cout << endl, ++i)05/15 19:27
25F→: for(unsigned int j=i, k=1; j; j>>=1, ++k)05/15 19:27
26F→: if(j&1) cout << k << ",";05/15 19:28
27F→:思路大概像這樣, 沒仔細check, 你可能要自己 DEBUG 下05/15 19:29
28F→:不過 1<<N 算是偷懶,如果 N 大於等於 bits 數就不行了05/15 19:30
29F→:等於要用其他方法給值,大於就只能用更長的unsigned整數05/15 19:30
30F→:另外抱歉為了要塞到推文~~只好寫短~希望不會造成困擾05/15 19:32
31F→:只要仔細了解二進位的概念,和右移運算就可以了05/15 19:33
32F→:對了等於要改成 <=05/15 20:12
33F→:我是說 n 等於 bit 數要改成 i <= 最大值05/15 20:14
5F→:當平台上只能用 C 的時候05/05 01:37
3F→:因為編譯器會展開成 function call 的形式05/05 01:19
4F→:所以並非重載是一個例外,是 C++ 本質就是如此05/05 01:20
6F→:不好意思,多謝你的補充了05/05 01:34
7F→:我下次會說清楚些05/05 01:34
1F→:Test() : test(0) {} 加進去吧04/05 11:20
2F→:還有那個 typedef 是多餘的04/05 11:22
3F→:真是抱歉我打錯了04/05 11:23
4F→:Test() : n(0), test(0) {} 才對,忘記還有一個04/05 11:24
5F→:可以搜尋 zero initialization04/05 11:25
6F→:話說,雖然你可能用Test(int i=0) 這樣的方式會通過,04/05 11:40
7F→:但我覺得你最好還是不要這樣用04/05 11:41
8F推:因為可能會在某一天某一台機器上出現想都想不到的錯誤04/05 11:44
9F推:std::vector<Test> test(i,Test(10));這行我也覺得有錯04/05 11:50
10F→:我覺得你用一個 member function 去 malloc memory04/05 11:52
11F→:不要在 ctor 裡面去 malloc 比較好04/05 11:53
14F→:我只是覺得用一個 ptr 複製如果被別人釋放了04/05 12:21
15F→:就可能會導致重複free了,如果每次都 copy array 又太慢04/05 12:22
16F→:加個計數器又覺得太複雜,把情況盡量簡單有效率就好了04/05 12:22
17F→:但是確實如果只是把 malloc 移出來還是可能會有重複free04/05 12:24
18F→:最好還是把 free dtor 也移出來好了04/05 12:25
19F→:我是說 free 移出 dtor, 由 user 自己控制記憶體04/05 12:26
23F→:那用 string04/05 12:55
24F→:很多 string 都有內建計數器04/05 13:05
25F→:不過不是一定04/05 13:06
26F→:不過我覺得有時候 reference count 會拖到速度04/05 13:10
27F→:所以覺得這樣小而操作簡單的程式不要用 reference count04/05 13:11
28F→:因為如果很少必須複製,或者複製成本很低的話~我想04/05 13:14
29F→:所以我建議移出,struct 單純包住 int & char *04/05 13:16
30F→:我是說 變數 n 和 pointer test, & 是 and XD04/05 13:17
1F→:union 就知道是否 POD, 缺乏 ctor,還有functor用法錯04/04 21:17
3F→:我覺得編譯不會過04/04 23:37
6F→:???03/20 22:43
21F→:謝謝謝謝~~~學到很多^^03/22 00:00
3F→:const int t = test<3>(1,2,3);03/20 06:46
4F→:VC6 不能用 C++1103/20 06:47
7F→:了解~~學到了~~~謝謝!03/20 20:23
8F→:可是我想把參數個數改變就無法了,好像只能重載?03/20 21:25
5F→:被最佳化掉整個結果會不一樣耶02/24 21:35