作者查詢 / g0010726
作者 g0010726 在 PTT 全部看板的留言(推文), 共232則
限定看板:全部
看板排序:
13F推: 用個比喻來形容好了, 一個不能被塗改的書像是圖書館內06/20 04:08
14F→: 的書(const Book), 你在copy後得到的新書究竟能不能被06/20 04:08
15F→: 塗改你可以自己決定,跟原本的書沒關係。但如果你有個06/20 04:08
16F→: reference或pointer代表著(指向)圖書館的書,這個狀況06/20 04:08
17F→: 下const就該被保留,因為那本圖書館的書不該被塗改06/20 04:08
8F→: 樓上的做法可以用sleep_until06/17 14:03
3F推: 順序應該是 CDAB 吧06/16 01:45
5F推: 以前大學就聽過老師說去幫出題目的時候 別人出的答案是06/16 03:02
6F→: 錯的,提了還不願意改XD 真的沒救06/16 03:02
1F→: 第一個錯誤是:應該寫成06/13 19:03
2F→: TestForward(std::forward<int&>(x))06/13 19:03
5F→: 第二個是 void PrintT(T&& t) 其實不代表是rvalue,06/13 19:08
6F→: 而是接受任何一種變數 (當然如果是int&的話06/13 19:09
7F→: 一般function優先) , 可以搜尋universal reference了解06/13 19:09
6F→: 1. 厲害的編譯器optimized後應該差不多06/13 19:01
7F→: 2. 可以直接換行就好,c/c++換行不影響06/13 19:01
8F→: 3. 迴圈效率應該會慢,modular應該只有一個指令06/13 19:01
5F→: 第一個寫成 using bt = void (Testable::*)() const;06/09 01:09
6F→: 這樣有沒有比較好理解06/09 01:09
7F→: bt是個pointer to Testable裡的function06/09 01:10
8F→: 第二個是標準規定的, address of用在06/09 01:10
9F→: non-static member functions一定要qualified06/09 01:10
2F推: 陣列變數有 implicit conversion 轉換成06/07 23:49
3F→: 指向第一個element 的 pointer06/07 23:49
4F→: 於是 a 轉換成 &a[0] 恰好這個位置跟 &a 是同個地方 都06/07 23:51
5F→: a (int[5]) implicit converted to &a[0] (int*)06/07 23:53
6F→: &a ( int (*)[5] )06/07 23:53
8F→: 我猜原po可能在這裡把陣列跟pointer搞混了 一般宣告的06/08 00:43
9F→: pointer 裡面存的是指向物件的位址,但 a 裡面存的是06/08 00:43
10F→: int[5] 五個整數。主要還是前面提到的陣列implicit con06/08 00:43
11F→: version造成對於陣列跟pointer的混淆吧06/08 00:43
13F→: a這個變數指的是整個陣列 (int[5]) 不是你說的陣列開頭06/08 11:02
14F→: ,但因為存在implicit conversion, 所以當你在某些cont06/08 11:02
15F→: ext下寫a會轉成 &a[0] (int *),這個才指向陣列第一個e06/08 11:02
16F→: lement的位址, 然後這個位置址跟整個陣列的位址&a (int06/08 11:02
17F→: (*)[5]) 相同06/08 11:02
18F→: https://imgur.com/2w7VL9S06/08 11:19
15F→: 是live喔 也可以開yt即時字幕05/19 01:08
8F推: 樓樓上說的關掉優化在c++17後應該也沒用了 有些rvo變成04/10 06:30
9F→: 強制的 規則可以在cppreference翻一下04/10 06:30
10F→: 抱歉 應該說 copy elision 比較準確04/10 06:31
8F推: 簡單說 decltype(var) 跟 decltype (expr) 規則不同03/28 15:49
9F→: 詳細規則可以翻 cppreference03/28 15:50
10F→: 你的前兩個例子是屬於 expression, 這個狀況下03/28 15:51
11F→: lvalue expression會產生reference03/28 15:51
12F→: 第三個是 variable, 產生的type就是原本宣告的type03/28 15:52