
C++
@福者
曾研究银行技术部,奇虎360,字节跳动......等工作。研究技术已经是生活中不可缺少快乐,
展开
-
C++ 笔试面试题 ~[有答案]
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄1.new 、 delete 、 malloc 、 free 关系delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数。 malloc 与 free 是 C++/C 语言的标准库函数, new/delete 是 C++ 的运算符。它们都可用于申请动态内存和释放内转载 2017-06-24 11:15:27 · 2076 阅读 · 0 评论 -
C++ 虚继承与虚基类
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.定义:在多重继承下,一个基类可以在派生层次中出现多次。(派生类对象中可能出现多个基类对象)在 C++ 中,通过使用虚继承解决这类问题。 * 虚继承是一种机制,类通过虚继承指出它希望共享其虚基类的状态。 * 在虚继承下,对给定虚基类,无论该类在派生层次中作为虚基类出现多少次,只继承一个共享的基类子对象。 * 共享的基类子对象...原创 2018-02-22 15:59:38 · 554 阅读 · 0 评论 -
C++ 多重继承和构造
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、多重继承: 定义:派生类继承多个基类,派生类为每个基类(显式或隐式地)指定了访问级别——public、protected 或 private。 class Panda : public Bear, public Endangered { }二、构造: 1. 派生类的对象包含每个基类的基类子对象。 2. 派生类...原创 2018-02-21 23:32:15 · 800 阅读 · 0 评论 -
C++ 纯虚函数
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念* 定义: 在很多情况下,基类本身生成对象是不合情理的。* 为了解决这个问题,方便使用类的多态性,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Function()= 0;)纯虚函数不能再在基类中实现,编译器要求在派生类中必须予以重写以实现多态性。* 同时含有纯虚拟函数的类称为抽象类,...原创 2018-02-20 21:56:26 · 617 阅读 · 0 评论 -
C++ 虚函数表
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.多态是由虚函数实现的,而虚函数主要是通过虚函数表(V-Table)来实现的。 如果一个类中包含虚函数(virtual修饰的函数),那么这个类就会包含一张虚函数表,虚函数表存储的每一项是一个虚函数的地址。 如下图: 这个类的每一个对象都会包含一个虚指针(虚指针存在于对象实例地址的最前面,保证虚函数表有最高的性...原创 2018-02-19 10:01:31 · 445 阅读 · 0 评论 -
C++ 重载、重写、隐藏的区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.Overload(重载): 在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。2.Override(覆盖):是指派生类函数覆盖基类函数,特征是: (...原创 2018-02-18 18:40:45 · 290 阅读 · 0 评论 -
C++ virtual 函数
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。 private 也被集成,只事派生类没有访问权限而已 virtual可加可不加 子类的空间里有父类的所有变量(static除外) 同一个函数只存在一个实体(inline除外)...原创 2018-02-13 20:33:04 · 631 阅读 · 0 评论 -
C++ 什么是多态,多态的用途
联系人:石虎 QQ:1224614774 昵称: 嗡嘛呢叭咪哄 QQ群:807236138 群称: iOS 技术交流学习群一、概念1. 定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。2. 实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重...原创 2018-02-17 23:29:52 · 8474 阅读 · 1 评论 -
C++ static 和const 的作用
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 /** 问题1:static和const的作用; 问题2:类里面static和const可以同时修饰成员函数吗 */一、static的作用:对变量:1.局部变量: 在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。 1)内存中的位置:静态存储区 2)初始化:未经初始化的全局静...原创 2018-02-08 10:29:08 · 2166 阅读 · 0 评论 -
C++ 面试题~Windows内存管理的方法
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、虚拟内存的概念 当程序运行时需要从内存中读出这段程序的代码。代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。这个就是内存管理所要原创 2018-02-07 10:16:41 · 607 阅读 · 0 评论 -
C++ 函数调用和系统调用的区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.什么是系统调用?(常见Linux及其分类表) 所谓系统调用就是用户在程序中调用操作系统所提供的一个子功能,也就是系统API,系统调用可以被看做特殊的公共子程序。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、进行I/O传输及管理文件等)原创 2018-02-06 10:59:27 · 5694 阅读 · 0 评论 -
C++ const 符号常量写法区别
联系人:石虎 QQ:1224614774 昵称: 嗡嘛呢叭咪哄 QQ群:807236138 群称: iOS 技术交流学习群一、概念1.const写法 (1)const char *p (2)char const *p (3)char * const p二、const写法区别 如果const位于 * 的左侧,则...原创 2018-02-11 11:06:14 · 1864 阅读 · 0 评论 -
C++ 结构体struct和共同体union的区别
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念1.定义: 结构体struct:把不同类型的数据组合成一个整体,自定义类型。 共同体union: 使几个不同类型的变量共同占用一段内存。2.地址: struct和union都有内存对齐,结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。二、关于内存对齐,四个重要的基本概念:1.数据类型自身的对齐值: ...原创 2018-02-10 10:31:37 · 5323 阅读 · 0 评论 -
C++ Makefile简介
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、Makefile概述: 1.对很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作, 2.做好一个professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件...原创 2018-02-09 12:00:01 · 1184 阅读 · 0 评论 -
C++ 对象模型~内存布局
//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄一、概念:1.没有继承情况,vptr存放在对象的开始位置,以下是Base1的内存布局 m_iData :1002.单继承的情况下,对象只有一个vptr,它存放在对象的开始位置,派生类子对象在父类子对象的最后面,以下是D1的内存布局 B1:: m_iData : 100 B1::vptr : 4294800 B2:...原创 2018-02-23 10:14:53 · 327 阅读 · 0 评论