C/C++面试:什么是智能指针?智能指针有什么作用?分为哪几种?各自有什么样的特点? 说下你对智能指针的理解 因为C++使用内存的时候很容易出现野指针、悬空指针、内存泄露的问题。所以C++11引入了智能指针来管理内存。有四种: auto_ptr:已经不用了 unique_ptr:独占式指针,同一时刻只能有一个指针指向同一个对象 shared...
C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。这说明智能指针不仅是面试官爱问的题材,更是非常有实用价值。 下面是我在看智能指针时所做的笔记,...
(1) 禁止纯指针给智能指针赋值或者拷贝构造。 1 2 3 int* a=newint(2); shared_ptr<int>sp=a;// error sp=a;// error (2)shared_ptr多次引用同一数据,会导致两次释放同一内存。如下: 1 2 3 4 5 6 { int* pInt =newint[100]; shared_ptr<int> sp1(pInt); // 一些其它代码之后… shared_p...
C 程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C 11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好...
航天宏图c++实习 | 投实习投了半个月第一次面试,形式是电话面试,约了个下午三点的,面试时间很准时,三点整点电话就打过来了1、介绍项目2、问我C++学了多久,学校开了课程吗3、C++当中结构体和类的区别,没答出来。就答了个C和C++中结构体的不同4、问我项目当中用了指针没有,介绍一下用的的指针,这个我当时...
面试很大几率会让手撕一个指针指针,如果没有要求的话可以写一个uniqeu_ptr,别写auto_ptr就行,有要求的话就应该就是shared_ptr了,所以智能指针的模拟实现应该闭着眼都能手撕出来。 笔试面试常问问题: 上面的问题博客上面都讲了,总结下智能指针的发展历史: 9.1 智能指针的发展历史 C++98中的auto_ptr,存在非常大...
C/C++面试:什么是智能指针?智能指针有什么作用?分为哪几种?各自有什么样的特点? 说下你对智能指针的理解 因为C++使用内存的时候很容易出现野指针、悬空指针、内存泄露的问题。所以C++11引入了智能指针来管理内存。有四种: auto_ptr:已经不用了 unique_ptr:独占式指针,同一时刻只能有一个指针指向同一个对象...
精选谷歌、微软等知名IT企业的50余道典型面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。
2. Re:【校招面试 之 C/C++】第18题 C++ 中的隐式转换以及explicit关键字 _pstr = malloc(size + 1); 这里应该类型转换 _pstr = reinterpret_cast <char*>(malloc(size + 1));... --pppp0522 3. Re:为centos7配置阿里yum源遇到的问题以及解决方法 我搞了半天,果然! 就是这个原因。 谢谢 --Mat...
不管你是C++初学者,还是想从C语言转变为C++,你都应该了解C++的动态内存和智能指针,今天我们就来看一下有关这两个方面的内容。 本文章内容篇幅较长,且干货满满,感兴趣的大家可以收藏+点赞,以后慢慢看! 本文适合C语言转C++或者学习C++的同学,码字不易,如果喜欢,希望您能来个三连支持一下博主🤞 ...