首页 > 试题广场 >

以下代码会发生什么?#include#in...

[单选题]
以下代码会发生什么?
#include <iostream>
#include <memory>
using namespace std;
void fun(std::shared_ptr<int> p)
{
    *p = 5;
}
int main()
{
    int arar = 6;
    for (int i = 0; i < 1000000; i++)
    {
        std::shared_ptr<int> p = std::make_shared<int>(arar);
        fun(p);
        std::cout << *p;
    }
    return 0;
}

  • 内存泄漏
  • 编译出错
  • 运行出错
  • 无错,输出1000000个5
  • 无错,输出1000000个6
亲测代码,是1百万个5,怎么答案还是1百万个6
发表于 2022-04-19 10:52:06 回复(0)