[問題] rvalue reference 的簡單使用方法
小弟遇到一個問題
就是如果函數要分別 support left 和 right reference 的參數,
只能把同一段程式碼複製一遍再加 &
請問有沒有簡單使用的方式呢?
另外
member function 要實作 const this 和 this pointer access 的時候
是不是也只能寫兩遍?
是否也有簡潔的方式?
謝謝
推
10/14 20:13, , 1F
10/14 20:13, 1F
→
10/14 20:14, , 2F
10/14 20:14, 2F
→
10/14 20:14, , 3F
10/14 20:14, 3F
→
10/14 20:15, , 4F
10/14 20:15, 4F
→
10/14 20:16, , 5F
10/14 20:16, 5F
→
10/14 20:20, , 6F
10/14 20:20, 6F
推
10/14 20:27, , 7F
10/14 20:27, 7F
→
10/14 20:37, , 8F
10/14 20:37, 8F
→
10/14 20:48, , 9F
10/14 20:48, 9F
→
10/14 20:48, , 10F
10/14 20:48, 10F
→
10/14 20:49, , 11F
10/14 20:49, 11F
→
10/14 20:50, , 12F
10/14 20:50, 12F
→
10/14 20:50, , 13F
10/14 20:50, 13F
→
10/14 21:03, , 14F
10/14 21:03, 14F
→
10/14 21:09, , 15F
10/14 21:09, 15F
謝謝,不過不能用轉型阿,至於怎麼用 template 完成這需求
我暫時沒想出來
至於前者我臨時給一個例子好了
假設我要把很多變數轉字串
l-value 版本的大概程式碼或許長這樣
template<typename T>
string toStr(const T &x) {
stringstream buf;
buf << x;
return buf.str();
}
template<typename T, typename... Args>
string toStr(const T &x, Args... y) {
string tmp( toStr(x) );
return (tmp += toStr(y...));
}
但 r-vlaue 的時候似乎只能再複製一次了(move 會影響效能嗎)
P.S. code 只是例子,可能有 bug,請不要 compile
話說轉字串有沒有什麼簡單又高效的方法呢?
感恩!!!
推
10/14 23:00, , 16F
10/14 23:00, 16F
推
10/14 23:01, , 17F
10/14 23:01, 17F
→
10/14 23:02, , 18F
10/14 23:02, 18F
※ 編輯: applecool 來自: 123.110.244.195 (10/14 23:03)
→
10/14 23:03, , 19F
10/14 23:03, 19F
→
10/14 23:04, , 20F
10/14 23:04, 20F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章