我总是读std::forward只能用于模板参数。 但是,我在问自己为什么。 看下面的例子: void ImageView::setImage(const Image& image){ _image = image; } void ImageView::setImage(Image&& image){ _image = std::move(image); } 这两个function基本上是一样的; 一个采取一个l值参考,另一个r值参考。 现在,我认为自从std::forward应该返回一个l值引用,如果参数是一个l值引用和一个r值引用,如果参数是一个,这个代码可以简化为这样的: void ImageView::setImage(Image&& image){ _image = std::forward(image); } 这是类似的例子cplusplus.com提到了std::forward (只是没有任何模板参数)。 我只想知道,如果这是正确的,或者不是,为什么。 我也在问自己究竟会有什么不同 void ImageView::setImage(Image& image){ _image = std::forward(image); }
forward()和sendRedirect()之间的概念区别是什么?