C++ 基础知识复习(三)
43. 继承的几种方式:
答:共有继承public,保护继承protected,私有继承private。其中后两种继承会改变原有的访问级别。
44. 深复制与浅复制:
答:简单理解,深复制自己申请了内存,浅复制直接把地址抄了过去。
45. C++是否支持参数个数不确定:
答:支持,可以使用隐藏参数机制来实现。
46. 什么是内联函数:
答:在类声明内部声明或定义叫做内联函数,为了解决函数调用的效率问题。类声明内部声明,外部定义,叫做显示内联函数,在类声明内部定义叫做隐式内联函数。内联函数不允许使用循环和switch,如包含,则作为普通函数处理。
47. 什么是引用形参:
答: 记得什么是引用吗? 用&定义的别名,当将他作为函数参数传递时就叫做引用形参,比如swap(int a,int b)无法真正交换,但swap(int &a,int &b)就可以了,实际是操作地址。
48. 静态成员函数的特点:
答:没有this指针,只在文件所在编译单位内使用,不能被其他文件使用,只能访问静态变量。
49. 重载overload时,实参的匹配规则:
答: 精确匹配》类型提升》标准转换》类类型转换。
模板与STL部分:
50. 模板分为函数模板和类模板。
51. STL是一个标准c++库,容器是其重要组成部分。主要提供了顺序容器和关联容器,同时提供了迭代器以及100多种算法实现,包括排序,便利。提供的主要容器有vector,list,deque,set,multiset,map,multimap。
52. STL中的顺序容器:
53. STL中的关联容器:set,multiset,map,multimap,注意区别在于是否允许键值是重复的。set只保存一个值,map保存一对。
54. STL容器适配器:只是容器的变种,不是单独的。stack,queue,和priority_queue。
55. 迭代器已经定义好了两个,.begin()和.end(),要注意end指向的是最后一个元素的下一个位置,并不是容器的元素。
数据结构部分:
56. 基本数据结构包括:链表,队列(FIFO),栈(LIFO),树,图。
57. 树的分类:有序树,无序树。树的名词:结点(node),结点的度(degree),叶子(Leaf),孩子(child),父结点(parent),兄弟(sibling),结点的层次(level),深度(depth),森林(forest),路径(path),祖先(Ancestor),子孙(Descendant)
58. 如何对树进行遍历:深度优先遍历 和 广度优先遍历,分别对应深度优先搜索DFS和广度优先搜索BFS。
59. 二叉树的遍历方式:主要有三种,先序遍历,中序遍历和后序遍历。
60. 计算二叉树的高度:后序遍历,更适合当白板题。
61. 图的实现方式:邻接矩阵和邻接链表。
62. 图的搜索算法:同样是深度优先和广度优先两种算法。
63. 常用的排序算法有哪些:
答:
冒泡排序 bubble sort。
鸡尾酒排序,定向冒泡排序,每个外循环里同时把最大最小元素挑出来,然后调整上下边界,如果没有调换发生才退出外循环。
选择排序,这是读书时大一最愿意用的排序方式,外循环是位置,内循环是每次挑出来的最大或者最小值。
归并排序
C++ 基础知识复习(三)的更多相关文章
- 运维之Linux基础知识(三)
运维之Linux基础知识(三) 1. 查看文本 cat tac more less head tail 1.1 cat 连接并显示文件 cat -n:在显示的时候,将每一行编号 -E:显示结束符$ - ...
- JavaScript进阶【三】JavaScript面向对象的基础知识复习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- 基础知识《三》java修饰符
一.修饰符 private 成员随时都是“私有”的,任何人不得访问.但在实际应用中,经常想把某些东西深深地藏起来,但同时允许访问衍生类的成员. protected 关键字可帮助我们做到这一点.它的意思 ...
- 林大妈的JavaScript基础知识(三):JavaScript编程(2)函数
JavaScript是一门函数式的面向对象编程语言.了解函数将会是了解对象创建和操作.原型及原型方法.模块化编程等的重要基础.函数包含一组语句,它的主要功能是代码复用.隐藏信息和组合调用.我们编程就是 ...
- ZYNQ笔记(0):C语言基础知识复习
ZYNQ的SDK是用C语言进行开发的,C语言可以说是当今理工类大学生的必备技能.我本科学C语言时就是对付考试而已,导致现在学ZYNQ是一脸懵逼.现在特开一帖,整理一下C语言的基础知识. 一.定义 1. ...
- Jquery源码中的Javascript基础知识(三)
这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...
- Android中的一些基础知识(三)
最近在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 在TextView中显示图像(使用< img>标签) 在TextView中显示图片的方法有许 ...
- spring 基础知识复习
spring是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成spring框架的每个模块(或组件)都可单独存在 ...
- ASP.NET Core 基础知识(三) Program.cs类
ASP.NET Framework应用程序是严重依赖于IIS的,System.Web 中有很多方法都是直接调用的 IIS API,并且它还是驻留在IIS进程中的.而 ASP.NET Core 的运行则 ...
随机推荐
- mysql数据库表结构导出
mysql数据库表结构导出 命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -h localh ...
- Bootstrap使用后笔记
Bootstrap Modal 垂直居中 在 bootstrap.js中修改如下代码: Modal.prototype.adjustDialog = function () { var modal ...
- jquery 实现类似于弹幕效果
在别人网站中看到一个类似于弹幕的效果,闲来无事用jquery写了个备用~~ <!DOCTYPE html> <meta charset="utf-8"> & ...
- 理解Cookie和Session机制(转)
目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...
- please wait while windows configures microsoft visual studio professional 2013 [转载]
2016年5月30日 VS3013安装update 2以后,打开offie出现"please wait while windows configures microsoft visual s ...
- <!DOCTYPE html>作用
1.定义: DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档. <!DOCTYPE> 声明 ...
- rabbitmq python
import pika connection = pika.BlockingConnection(pika.ConnectionParameters( 'localhost',9672)) chann ...
- SDL 截图、录像、录像播放
截图 使用sdl很简单,视频显示窗口大小,不是视频分辨率大小 int i = Sdl.SDL_SaveBMP(surfacePtr, path); if(i != 0) { MessageBox.Sh ...
- 【转载】Arcengine效率探究之二——属性的更新
文转载自hymyjl2010<Arcengine效率探究之二——属性的更新> 修改一批要素的属性有多种方法,当数据量较大时,若选择不当可能会大大影响速度. 一.IRowBuffer 方 ...
- Fedora 23安装 NS2 (network simulator 2)
1 实验环境 OS: Fedora 23 workstation 2 实验步骤 ( 参考了:http://www.isi.edu/nsnam/ns/ns-build.html) 本次实验的实验环境: ...