有沒有辦法刪除所有我的函數的「垂直」的版本,而不需要改變「重災區」行到「固定」?選擇函數聲明與左值右值或參數
是我的程序工作正常,但我想如果有一種方式來獲得從這個版本我所有的功能的車程。
記住int
是不是真的在我的節目int
,但一個類型別名可以是對象(例如container_reference<std::array<double,4>>
)或引用(例如std::array<double,4> &
)
void func(int &&m) { cout << "rvalue: " << m << endl; }
void func(int &m) { cout << "lvalue: "; func(std::move(m)); } // PLUMB!
int main()
{
int a = 5;
func(a); // HIT!
func(std::move(a)); // FIXED!
func(6);
func(a + 5);
}
我覺得你真的不明白,你在做什麼。所以問題是你想要做什麼?你想讓你的'func'和rvalues或者左值一起工作嗎? – Mikhail 2013-04-06 19:04:09
我想與兩者一起工作。但身體代碼是完全一樣的。 – Chameleon 2013-04-06 19:05:25