zl程序教程

您现在的位置是:首页 >  其他

当前栏目

C++ 有奖竞猜

2023-02-19 12:22:03 时间

今天水文一篇,出个 C++ 智能指针的面试题做个有奖竞答:

#include <memory>

class Parent
{
 

};

class Son : public Parent
{
 

}

std::map<int, std::shared_ptr<Parent>> m1;

void add(int i, const std::shared_ptr<Parent>& spParent) {
 m1[i] = spParent;

 ///问题1: 在当前位置,spParent引用计数是多少?
}


int main()
{
 {
  std::shared_ptr<Son> spSon = std::make_shared<Son>();

  add(1, spSon);

  //问题2: 在当前位置,spSon引用计数是多少?
 }

 //问题3: 在当前位置,m1中的智能指针对象引用计数是多少?

 return 0;
}

问题4: 上述场景的代码可以如何优化?

我已经将问题贴在代码的注释中,小伙伴们可以在评论区回答,第一位给出正确答案并给出合理解释的同学将获得如下图书一本(邮费自负哦)。

为了公平起见,所有留言暂时不放出来,会在开奖当天放出。开奖时间:下周四 (2022 年 11 月 3日 20:00)。