c++ - 这个 auto_ptr 程序是如何工作的,它做了什么?

标签 c++ pointers smart-pointers auto-ptr

我运行了这个程序,但我不明白这个 auto_ptr 的作用以及它显示值的基础是什么?

int main(int argc,char **argv)
{
    int *i= new int;
    auto_ptr<int> x(i);
    auto_ptr<int>y;
    y=x;
    count <<x.get()<<endl;
    count <<y.get()<<endl;
}

最佳答案

此代码将为第一个 auto_ptr 对象打印 NULL 地址,为第二个对象打印一些非 NULL 地址,表明源对象在赋值过程中丢失了引用 (=)。

关于c++ - 这个 auto_ptr 程序是如何工作的,它做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147717/

相关文章:

c++ - 一次从文件中读取字符 block ,并在 C 的下一个循环中读取下一个 block

c++ - 是否可以使用 fmt 格式化带有千位分隔符的数字?

c - 指针和 libPcap

c++ - SymSpellPlusPlus 中的分词

c++ - 智能指针 - 无法替代原始指针的情况

c++ - 没有智能指针经验的多态对象的转换类型

c++ - 在类中初始化可变大小的数组

c - int 指针指向两个结构体指针?

c++ - shared_ptr 与 scoped_ptr

c++ - SSE2 内在函数在哪里存储结果?