如何判斷一個指針是RValue還是我不知道我在說什麼..這個真正荒謬的想法一邊喝着啤酒一邊衝進我的腦海......RValue指針?
如果你有一個愚蠢的程序員/用戶..
假設你有下面的類:
template<typename T>
class Container
{
private:
std::vector<T> Storage;
public:
Container(T Anything) : Storage() {Storage.push_back(Anything);}
}
和用戶執行:
Container<Object*> C(new Object(Params));
那我該怎麼DELET e嗎?我想能夠區分上面和下面的區別:
Object* O = new Object(Params);
Container<Object*> C(O);
我只是想知道。我知道第一個例子顯然不應該被使用,但我們假設它會或者我想要檢測這樣的泄漏代碼並刪除它們。
這怎麼辦?這是一個RValue指針嗎?我該怎麼稱呼它?
'Container C(new Object(Params));'是無意義的 - 你必須指定'T'是什麼類型,那它是什麼? – ildjarn 2013-03-13 03:37:35
在這種情況下,T是一個指針.. Ooohh你的意思是像容器
噢..我修好了。對不起:( – Brandon 2013-03-13 03:40:12