📄 autoptr1.cpp
字号:
//autoptr1.cpp
//展示auto_ptrs转移拥有权的行为
//By phoenixinter
//On 11/23/2004
#include<iostream>
#include<memory>
using namespace std;
/* define output operator for auto_ptr
* -print object value or NULL
*/
template <class T>
ostream& operator << (ostream& strm, const auto_ptr<T>& p)
{
//does p own an object?
if(p.get()==NULL)
strm<<"NULL";
else
strm<<*p;
return strm;
}
int main()
{
auto_ptr<int> p(new int(42));
auto_ptr<int> q;
cout<<"after initialization:"<<endl;
cout<<"p: "<<p<<endl;
cout<<"q: "<<q<<endl;
q=p;
cout<<"after assigning auto pointers:"<<endl;
cout<<"p: "<<p<<endl;
cout<<"q: "<<q<<endl;
*q+=13; //change value of the object q owns
p=q;
cout<<"after change and reassignment:"<<endl;
cout<<"p: "<<p<<endl;
cout<<"q: "<<q<<endl;
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -