
C++基础
不要急慢慢来
你不曾走过我来时的路,又怎知我的喜与悲
展开
-
C++面试常见题目6_STL中vector
Vector概述vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。属于序列容器(vector,list,deque)的一种。vector是一种允许快速随机访问其中元素的线性序列。关键在于其对大小的控制以及重新配置时的数据移动速率。Vector空间分配策略vector初始化会分配比客户端需求量更大一些的空间,以便将来可能的扩充。扩充空间需要经过的步骤:重新分...原创 2018-07-23 17:28:05 · 699 阅读 · 0 评论 -
C++面试常见题目1_C++与C,Java的区别
C++和C的区别C是面向过程的语言,主要以函数为主;C++是面向对象的语言,主要以类为主。 动态管理内存的方式不一样。C采用malloc和free,C++采用new和delete。 标准输入输出流不一样。C采用scanf/printf,C++采用cin/cout。 C不支持函数重载,C++支持函数重载。 C没有引用,C++有引用。 C++和java的区别Java是完全的面向对...原创 2018-07-12 10:40:02 · 1001 阅读 · 0 评论 -
C++面试常见题目5_面向对象的三大特性(封装,继承,多态)
面向对象的三大特性 封装 定义:将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义,即用类进行数据抽象。 继承 定义:用类派生从一个类继承另一个类,派生类继承基类的成员。 访问控制与继承 访问方式 private protected public ...原创 2018-07-18 19:22:58 · 2727 阅读 · 0 评论 -
C++面试常见题目2_const 与 static
C++中const和static的用法 const关键字const的最初动机是取代预处理器#defines来进行值替代,它可以被用于指针,函数变量,返回类型,类对象以及成员函数。 const对象默认为文件的局部变量,要使其可以在其他文件被访问,需要显示指定为extern。 对于指针来说,可以指定指针本身为const,也可以指定指针所指向的数据为const,或者二者同时指定为const。 ...原创 2018-07-13 10:10:35 · 405 阅读 · 0 评论 -
C++面试常见题目3_指针和引用,堆和栈
指针和引用的区别指针是一个实体(变量),内容为所指向内存的地址;引用是一个变量的别名。 引用不可以为空,当被创建的时候,必须初始化;而指针可以是空值,可以在任何时候被初始化。 引用只能在定义时被初始化一次,之后不可变;指针可以改变所指的对象。 引用和指针的自增(++)运算意义不一样。引用为值增加,指针为地址增加。 堆和栈的区别 栈(操作系统):由操作系统自动分配释放 ,存放函...原创 2018-07-13 16:54:12 · 277 阅读 · 0 评论 -
C++面试常见题目4_内存管理,内存泄露
内存管理 推荐一部内存管理的书籍,网上大部分相关博文均来源于此 https://download.youkuaiyun.com/download/zzhang_12/10541374 定义:内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 在C++中内存分为5个区,分别是堆、栈、自由存储区、全局/静态存储区和常...原创 2018-07-14 15:52:20 · 2451 阅读 · 0 评论 -
C++面试常见题目8_构造函数
构造函数的种类: 默认构造函数 无参数构造函数 一般构造函数(重载构造函数) 复制(拷贝)构造函数 class Student{ private: int num; int age; string name; public: //当一个类没有定义任何构造函数时,系统会自动生成默认的无参构...原创 2018-07-27 15:58:04 · 1699 阅读 · 0 评论 -
C++面试常见题目7_STL之map与unordered_map(红黑树VS哈希表)
map与unordered_map相同:两者都是键-值对的集合,关联容器的一种。两者中的元素都是pair,同时拥有实值和键值。两者都不允许有两个相同的键值(实值可以相同)。两个的外部接口调用基本一致。 不同:内部实现机理不同,即map内部实现了一个红黑树;unordered_map内部实现了一个哈希表。(两者的比较成为红黑树与哈希表的比较)。由于内部实现机理不同(底层实现)造成以下不同。m...原创 2018-08-28 19:17:29 · 9798 阅读 · 0 评论