我測試的C++ 14的一些新的功能,我不知道爲什麼這些指針不具有相同的地址C++爲什麼它是不一樣的地址(指針)
#include <iostream>
#include <memory>
class Test
{
public :
Test(){std::cout << "Constructor" << std::endl;}
Test(int val){value = val;}
~Test(){std::cout << "Destructor" << std::endl;}
private :
unsigned int value;
};
int main(int argc, char *argv[])
{
std::unique_ptr<Test> ptr(new Test(45));
std::cout << &ptr << std::endl;
std::unique_ptr<Test> ptr2 (std::move(ptr));
std::cout << &ptr2 << std::endl;
return 0;
}
Output :
0xffffcbb0
0xffffcba0 //Why it's not the same as previous
Destructor
謝謝:)祝你有個愉快的日子
FWIW,這是C++ 11的代碼。那裏沒有特定的C++ 14。 – chris
你永遠不會移動變量的地址。你移動它們的值。 – xinaiz