// 此时三个指针都指向同一对象 SmartPointer<int> thiredPointer; secondPoiner = thiredPointer; // 把一个指针指向其他内容, 减少计数 std::cout << pointer.getPointer() << '\n'; std::cout << pointer.getCount() << '\n'; // 空指针调用getPointer方***有异常~ } class B; class A { pub...
智能指针是一种用于管理动态分配的内存的指针,其中的计数器通常在拷贝构造函数和赋值运算符中会发生改变。在智能指针的实现原理中,通常会使用一个计数器来记录有多少个指针指向了同一个动态内存区域。当一个新的智能指针被创建时,计数器会加1;当一个智能指针被销毁时,计数器会减1。当计数器减为0时,表示没有指针...
二师兄:智能指针是C++11引入的类模板,用于管理资源,行为类似于指针,但不需要手动申请、释放资源,所以称为智能指针。 面试官:C++11引入了哪些智能指针? 二师兄:三种,分别是shared_ptr、unique_ptr、和weak_ptr。 面试官:说一说三种指针的特征及用途。 二师兄:好的。shared_ptr使用了引用计数(use count)技术,当复...
std::unique_ptr<int> p3 = std::move(p1); // 转移所有权, 现在那块内存归p3所有, p1成为无效的指针. 3) C++11或boost的shared_ptr,基于引用计数的智能指针。可随意赋值,直到内存的引用计数为0的时候这个内存会被释放。 4)C++11或boost的weak_ptr,弱引用。 引用计数有一个问题就是互相引用形成环,这样...
1,你知道智能指针吗?智能指针的原理。 2,常用的智能指针。 3,智能指针的实现。 1答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放, 2, 最常用的智能指针: ...
说下你对智能指针的理解 因为C++使用内存的时候很容易出现野指针、悬空指针、内存泄露的问题。所以C++11引入了智能指针来管理内存。有四种: auto_ptr:已经不用了 unique_ptr:独占式指针,同一时刻只能有一个指针指向同一个对象 shared_ptr:共享式指针,同一时刻可以有多个指针指向同一个对象 ...
简介: 【C/C++ 泡沫精选面试题03】谈谈C/C++ 智能指针?面试官考察意图 面试官在提出这个问题时,可能想要考察应聘者的以下几个方面: C++基础知识:应聘者是否理解智能指针的概念和用法,这是最基本的要求。 C++内存管理能力:智能指针是处理内存管理的重要工具,对其的理解程度反映了应聘者处理内存管理问题的能力。 了解...
C++面试模拟:智能指针与RAII - 阿西拜编程于20240611发布在抖音,已经收获了2.3万个喜欢,来抖音,记录美好生活!
C++模拟面试:宏、lambda、智能指针闲谈 有时候出于种种目的,我们会用宏来写一些函数。有人称之为宏函数。下面我们来模拟一场面试: 面试官 先来个简单的热热身,用宏实现求两个数最大值。 代码语言:javascript 复制 #defineMAX(x,y)((x)>(y)?(x):(y))...
【C++11教程】大厂面试常问的C++11面试题总结(STL容器、左右值引用、新特性、可变参数模板 、智能指针、类型推导、override、final关键字) Linux实战营 6384 92 【C++进阶】互联网大厂C++11面试题总结,智能指针种类以及使用场景 Linux实战营 195 0 【C/C++教程】如何从0设计一个通信协议(协议边界问题、协议序列...