[C++11]forward完美转发
生活随笔
收集整理的這篇文章主要介紹了
[C++11]forward完美转发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 函數原型
template <class T> T&& forward (typename remove_reference<T>::type& t) noexcept;
template <class T> T&& forward (typename remove_reference<T>::type&& t) noexcept;// 精簡之后的樣子
std::forward<T>(t);
推導規則:
#include <iostream> using namespace std;template<typename T> void printValue(T& t) {cout << "l-value: " << t << endl; }template<typename T> void printValue(T&& t) {cout << "r-value: " << t << endl; }template<typename T> void testForward(T && v) {printValue(v);printValue(move(v));printValue(forward<T>(v));cout << endl; }int main() {testForward(520);int num = 1314;testForward(num);testForward(forward<int>(num));testForward(forward<int&>(num));testForward(forward<int&&>(num));return 0; }/*作者: 蘇丙榅 鏈接: https://subingwen.cn/cpp/move-forward/#2-forward 來源: 愛編程的大丙*/測試結果:
該文參考于下面鏈接
鏈接: https://subingwen.cn/cpp/move-forward/#2-forward
總結
以上是生活随笔為你收集整理的[C++11]forward完美转发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 余承东:问界M9转弯半径比M7还小 &l
- 下一篇: [C++11]智能指针简单介绍