3
我有以下代碼。功能與模板重載
#include <iostream>
using namespace std;
void print(int& number){
cout<<"\nIn Lvalue\n";
}
void print(int&& number){
cout<<"\nIn Rvalue\n";
}
int main(int argc,char** argv){
int n=10;
print(n);
print(20);
}
它工作正常。但我想製作一個函數模板,以便它接受左值和右值。任何人都可以建議如何做到這一點?
這是完美的工作。但是如果我想要兩個安全打印功能呢?或者這是愚蠢的事情? –
如果你想有兩個獨立的打印功能,那麼你應該有兩個重載,如你的例子。然而,從實際的角度來看,如果你只想打印(即不改變輸入參數),一個帶有輸入參數'const'左值引用的函數就足夠了。 – 101010
我想爲T&和其他T &&打印功能有兩個saperate模板,但它不工作。 –