cpp 完美转发
#include <iostream>
#include <utility>
// 目标函数,接收左值引用
void process(int& value) {
std::cout << "左值版本: " << value << std::endl;
}
// 目标函数,接收右值引用
void process(int&& value) {
std::cout << "右值版本: " << value << std::endl;
}
// 完美转发包装器
template<typename T>
void wrapper(T&& arg) {
process(std::forward<T>(arg));
}
int main() {
int x = 42;
// 传递左值
wrapper(x);
// 传递右值
wrapper(123);
return 0;
}