作者查詢 / applecool

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