
C++学习笔记
文章平均质量分 95
多啦A熊
皮皮赖赖。
展开
-
C++校招常见面试题(2019年校招总结)
总结了语法、数据结构、常见排序算法、操作系统、网络五大块常见校招面试题。欢迎补充与修正。一、C++与C的区别面向对象与面向过程的区别面向过程面向过程编程是就分析出解决问题题的步骤,然后把这些步骤一步一步的实现,使用的时候一个一个的一次调用就可以了。面向对象面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个市委在整个解决问题的步骤中的行为。原创 2021-11-24 22:27:28 · 3355 阅读 · 2 评论 -
浅谈野指针
今天被同事嘲笑:你就是一个没有对象的野指针,,,那就让我们来看一下到底什么是野指针原创 2019-02-15 20:05:30 · 1436 阅读 · 0 评论 -
寻找两个有序数组的中位数(虚拟数组图文详解)
class Solution {public: double IsEmpty(vector<int>& num) { double ret; size_t size = num.size(); if(size == 1) return num...原创 2019-06-22 21:09:07 · 10945 阅读 · 2 评论 -
链表(图文详解)
链表与数组的对比,单链表和双链表的对比,双链表性能比单链表好,为什么不经常使用?有环链表面试题?原创 2019-07-10 12:49:49 · 92278 阅读 · 23 评论 -
TCP三次握手详解及面试题
喜欢钻牛角尖的我在学习三次握手的时候就想到了几个问题:为什么三次握手是三次?不是一次、两次或者更多?如果是两次或者是一次会出现什么情况?带着这个问题我找了好多资料,发现了其中的奥秘。原创 2019-06-26 23:04:09 · 9785 阅读 · 5 评论 -
C与C++的区别
一、面向对象与面向过程的区别面向过程面向过程编程是就分析出解决问题题的不走,然后把这些步骤一步一步的实现,使用的时候一个一个的一次调用就可以了。面向对象面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个市委在整个解决问题的步骤中的行为。举个例子(玩五子棋)使用面向过程的思想来考虑就是:开始游戏,白棋先走、绘制画面、轮到黑子、绘制画面、判断输赢、...原创 2019-10-02 20:54:20 · 326 阅读 · 0 评论 -
map的详解及常见面试题
map是STL中的一个关联式容器,它提供一对一的K-V的数据处理能力,由于这个特性,在我们需要完成Key-Value数据处理的时候可以很方便的调用。map的底层结构是红黑树,这棵树对数据有自动排序的功能,所以map中的数据都是有序的,并且查找的时间复杂度基本是O(LogN)。原创 2019-08-16 16:51:36 · 1462 阅读 · 0 评论 -
C++多态讲解以及常见面试题
多态常见的面试题。多态的概念。虚函数和纯虚函数。函数重载、函数重定义、函数重写的区别。原创 2019-08-06 16:44:24 · 361 阅读 · 0 评论 -
C++多态面试题汇总
总结了一些常见的面试题,通过查阅资料给出了一些浅薄的解析,欢迎各位批评指教。原创 2019-08-06 15:11:30 · 3510 阅读 · 2 评论 -
STL中vector和list的区别
对vector和list在底层结构、随机访问、插入和删除、空间利用率、迭代器、迭代器失效、使用场景这七个方面进行了总结。原创 2019-08-05 16:31:08 · 7638 阅读 · 1 评论 -
C++继承一览
什么是继承?基类和派生类默认成员函数的关系是什么?什么是菱形继承?菱形继承的问题是什么?什么是菱形虚拟继承?如何解决数据冗余和二义性的?继承和组合的区别?什么时候用继承?什么时候用组合?原创 2019-07-30 18:10:27 · 506 阅读 · 0 评论 -
排序(冒泡、选择、插入、希尔、快排、堆排、归并)
冒泡排序、选择排序、插入排序、希尔排序、快速排序、堆排序、归并排序的实现、原理、优化以及特性!原创 2019-08-02 17:36:34 · 603 阅读 · 0 评论 -
常见的设计模式--单例模式
饿汉模式的实现;饿汉模式的使用场景;线程安全懒汉模式的实现;懒汉模式的使用场景;原创 2019-07-29 21:13:19 · 306 阅读 · 0 评论 -
内存管理
C/C++内存分布;C语言中动态内存管理方式;C++中动态内存管理;operator new与operator delete函数;new和delete的实现原理;定位new表达式(placement-new);常见面试题。原创 2019-07-29 21:09:36 · 285 阅读 · 0 评论 -
C/C++程序从源代码到可执行程序的流程
对于一个C/C++编写的程序,从源代码到可执行程序的过程通常是由IDE来完成的,一般分为四个步骤:预处理、编译、汇编、链接,下面就来详细说一下这四个步骤。原创 2019-07-17 17:30:28 · 2247 阅读 · 0 评论 -
C++基础知识
本文内容:C++关键字命名空间C++输入输出缺省参数函数重载内联函数内联函数1.C++关键字 这里总结的时C++98中的关键字2.命名空间 在C/C++中,变量、函数和类都是大量存在的,这些名称都存在与全局域中,可能会导致很多冲突,使用命名空间的目的就是对标识符进行本地化,以避免命名冲突或者名字污染,namespace关键字就是针对这种问题的2.1命名空间的定义...原创 2019-06-15 20:05:31 · 258 阅读 · 0 评论 -
浅析智能指针
文章摘要:1.为什么要有智能指针?2.智能指针的实现。3.1.为什么要有智能指针?1.1、什么是智能指针?智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放。1.2、为什么需要智能指针?指针在C++的学习和使用中是必不可少的,重要性可想而知,如果对指针的理解不是很深入,很容易产生野指针,...原创 2019-04-06 19:26:04 · 302 阅读 · 0 评论