C++面试题及答案:智能指针的使用.docVIP

  • 1
  • 0
  • 约3.41千字
  • 约 8页
  • 2026-09-24 发布于河北
  • 举报

C++面试题及答案:智能指针的使用

1.请简述智能指针的概念以及引入智能指针的目的。(5分)

2.以下代码中,智能指针`shared_ptr`的使用有什么问题?请指出并说明原因。

```cpp

includememory

includeiostream

voidfunc(){

std::shared_ptrintptr1=std::make_sharedint(10);

std::shared_ptrintptr2=ptr1;

std::coutptr1ptr2std::endl;

}

intmain(){

func();

return0;

}

```(5分)

3.请说明`unique_ptr`和`shared_ptr`的主要区别。(5分)

4.当一个`shared_ptr`所指向的对象被多个`shared_ptr`共享时,引用计数是如何变化的?(5分)

5.写出一段代码,展示如何使用`weak_ptr`来解决`shared_ptr`的循环引用问题。(10分)

6.解释`std::enable_shared_from_this`的作用,并给出一个使用示例。(5分)

7.假设你有一个类`MyClass`,请定义一个智能指针成员变量,并编写构造函数和析构函数来展示其正确的初始化和释放过

文档评论(0)

1亿VIP精品文档

相关文档