C
专注C语言学习
小贾-同志
每一个不曾起舞的日子都是对生命的辜负
展开
-
C++设计模式 | Observer 观察者模式详解
文章目录观察者模式介绍观察者模式的动机观察者模式解决什么问题观察者模式的使用场合观察者模式的结构和实现结构实现应用实例代码示例观察者模式介绍观察者模式的动机定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式解决什么问题一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。观察者模式的使用场合在以...原创 2019-05-04 21:05:39 · 1916 阅读 · 0 评论 -
顺序表Seqlist的基本操作的实现
顺序表基本操作的代码如下:#include<stdio.h>#include<iostream>#include<string>#include<malloc.h>#define LIST_INIT_SIZE 10#define LIST_INC_SIZE 2typedef enum { OK = 1, ERROR = -1, POS...原创 2019-04-11 15:23:11 · 2150 阅读 · 0 评论 -
C++ || 继承与多态(详细笔记)
文章目录【1】继承继承的本质1.继承的访问限定?2.派生类怎么初始化从基类继承来的成员?3. 构造析构的顺序?4.继承结构是从上到下的结构【2】多态1.什么是多态?2.多态的好处3.重载 隐藏 覆盖(基类和派生类同名成员函数之间的关系)4.请解释静态绑定(编译)(函数调用)和动态绑定(运行)?5.vfptr vftable 什么时候生成?运行时加载到那一块内存??6.RTTI指针7.虚函数表8. ...原创 2019-04-27 16:01:50 · 1212 阅读 · 0 评论 -
C++常见面试简答题 || 指针和引用 / 静态绑定动态绑定 / 多态 / STL常见容器 / 智能指针 / C++11新标准
文章目录1、引用和指针的区别2、解释静态绑定和动态绑定3、解释什么是多态4、请列举你所熟悉的容器并做简要功能描述5、请列举你所熟悉的智能指针并做简要功能描述6、请列举你知道的C++11新标准的语法,并做简要功能描述1、引用和指针的区别A:定义一个引用变量和定义一个指针变量的汇编指令一模一样,区别是引用变量必须要初始化,指针没有强制要求。B:通过应用变量修改内存的值和通过指针修改指向内存的值,...原创 2019-04-27 14:27:45 · 2487 阅读 · 0 评论 -
C++ | 关联容器set的常用函数操作
#include <iostream>#include <string>#include <set>#include <ostream>#include <iterator>using namespace std;struct strLess{ bool operator() (const char *s1, const...原创 2019-04-15 22:27:37 · 1233 阅读 · 0 评论 -
C++经典面试题 | C和C++的区别是什么?
导语:大家求职简历上肯定会写精通C和C++语言之类的词语,所以,这个问题被问到的概率也是相当高的,请大家提前准备下该怎么表达!解题思路:面试中如果要和面试官谈C和C++的区别这样的问题,那么尽量先从轮廓上谈一些他们大方向上的差别,然后等着面试官再和你仔细的询问某个知识点的细节,切忌一上来就喋喋不休,没个逻辑,想到哪里说到哪里,这样不行,因为它们之间的区别点还是非常多的!针对这个问题,你可以...原创 2019-04-15 14:46:20 · 12019 阅读 · 0 评论 -
C++经典面试题 | malloc和new的区别?
解题思路:(1)malloc和new都是在堆上开辟内存的malloc只负责开辟内存,没有初始化功能,需要用户自己初始化;new不但开辟内存,还可以进行初始化,如new int(10);表示在堆上开辟了一个4字节的int整形内存,初始值是10,再如new int[10] ();表示在堆上开辟了一个包含10个整形元素的数组,初始值都为0。(2)malloc是函数,开辟内存需要传入字节数,如mal...原创 2019-04-15 14:21:02 · 19971 阅读 · 6 评论 -
C++经典面试题 | new/new[]和delete/delete[]的区别原理
1.先来谈谈new和delete在C++中堆内存的分配和释放是通过new和delete来操作的,它们和C语言的malloc和free有什么区别呢?1)new的底层也是通过malloc来开辟内存的,new比malloc多一项功能,就是开辟完内存,还可以进行初始化操作,如下:int *p = new int(10);上面是new的基本操作,10代表堆上开辟的整形内存的初始值;如果是自定义类类型...原创 2019-04-15 13:58:39 · 6988 阅读 · 1 评论 -
网易笔试题 | C++实现大数的加减法(代码详解)
大数运算-------加法/减法例如:28937697857832167849697653231243+9785645649886874535428765很明显计算机不能直接计算出来这个表达式的值,因为它所能表示的数值的范围是有限的。所以我们要另外想其他的办法,于是乎我们就就想到了用string字符串表示这个数。通过代码我们来详细理解解题的整个思路大整数类#include "std...原创 2019-04-13 01:23:31 · 3071 阅读 · 1 评论 -
C语言中不被人注意的一些东西(笔记)
程序运行的各个阶段;.c 或者.cpp 文件 源文件;预编译形成.i文件;编译形成.o或者.obj二进制可执行文件;链接形成.exe文件;宏(#):在预编译阶段执行 进行替换 不进行类型检验 不进行分配空间;const :在编译阶段进行 进行类型检测 进行分配空间;#pragma once:一个比较常用的c/c++的杂注,只要在头文件的最开始加上这个;就能保证头文件只被编译一次;#...原创 2018-12-23 13:55:45 · 1377 阅读 · 0 评论