自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一直走,不要回头

向前进,我们终将看到希望!!!

  • 博客(42)
  • 收藏
  • 关注

原创 判断电脑的大小端

一个32位四字节的整数值,例如1,实际在计算机编码表示为  0x00000001小端系统中在内存中的表示为 01 00 00 00大端系统中在内存中的表示为 00 00 00 01  判断当前计算机是大端还是小端:#include <stdint.h>#include<iostream>using namespace std;//union中的...

2018-11-30 13:01:38 271 2

转载 union介绍,union与struct,union面试真题

转自:https://www.cnblogs.com/jeakeven/p/5113508.html union介绍共用体,也叫联合体,在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的。union变量所占用的内存长度等于最长的成员的内存长度。 union与str...

2018-11-30 12:22:09 355

原创 debug版本和release版本

运行代码#include<iostream>using namespace std;static void prindAddress(int a, int b, int c){ cout<<"a"<< a <<" "<<&a<<endl; cout<

2018-11-30 11:24:39 630

原创 leetcode 28 c++ 实现strstr

暴力破解从前往后找,结果超时了。。。。。。。。。。。。int strStr(string haystack, string needle) { if (needle.length() == 0) return 0; if (needle.length() > haystack.length()) return -1; int n_index = 0; for (int i...

2018-11-30 10:26:50 486

转载 一个关于临时对象的BUG

转自:https://blog.csdn.net/TeddyWing/article/details/13170(博主看完这篇博客之后,感觉自己不会C++了,呜呜呜) 我相信任何一个使用C++超过一定时间的程序员都不会否认这样一个事实:使用C++需要有足够的技巧。它充满了有各种各样的难以识别的陷阱,顷刻就可以让一段看起来毫无破绽的代码崩溃。例如,对C/C++的新手而言,学会如何考虑对象...

2018-11-29 23:47:21 252

转载 浅析C++的引用与const指针与各种传递方式

转自:https://www.jb51.net/article/120561.htm 首先我们知道 const int *p 与 int const *p 是一样的,即 *p 是常量;而 int * const p 跟上面是不一样的,即 p 是常量;我们知道引用只是一个别名,与变量共享存储空间,并且必须在定义的时候初始化,而且不能再成为别的变量的别名,这让我们想到什么呢,貌似跟  ...

2018-11-29 18:56:38 498

原创 子网掩码

网络标识(即A类地址的前八位、B类地址的前16位、C类地址的前24位)相同的计算机比属于同一个链路。为了减少主机号的浪费,设计出子网掩码。IP地址的网络标识和主句标识不在受限于该地址的类别,而是有一个叫做 “子网掩码” 的识别码通过子网网络地址分出比A类、B类、C类更小粒度的网络。 将原来的A类、B类、C类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。...

2018-11-29 09:55:32 768

原创 IP地址分类

地址分类 特点 网络标识位 主机标志位 网络地址 主机个数 A 首位以“0”开头 1-8 后24位 0.0.0.0~127.0.0.0 16777214...

2018-11-29 09:02:55 165

原创 用c++实现《图解设计模式》——observer模式(老师说这个很常用)

他是MVC的重要组成部分 动机 模式定义 结构    对于一个实现文件切割的类,如果需要对其增加一个显示进度条的选项,使得用户可以知道文件切割的进度。如果直接在类中增加一个字段来表示进度条,这种修改方式好不好?代码如下(代码都是伪代码:mainform.cpp//一个实现文件分割器是类class MainForm : pu...

2018-11-29 02:20:48 188

原创 排序算法总结——c++实现

 Java实现见链接:https://mp.weixin.qq.com/s/pN4RH4pPKtSkZJgcf2V-Vw  排序算法的稳定性分析 选择排序无法保证稳定性: 归并排序可以保证稳定性:(相等的就先放置左区域内的元素) 快速排序无法保持稳定性(因为partition的时候无法保持稳定性)以后补充  堆排序无法保证稳定性:...

2018-11-25 00:05:50 213

原创 C++面向对象高级编程(下) 第一周

Conversion Function 转换函数你现在设计一个对象 class A,它可不可以被转为另外一种类型,这就是一种转换。或者是,另外一种类型可不可以转为A。一个是转出去,一个是转进来,这两个方向,我们都要谈。现在首先谈的是转出去: 1、转化函数不可以有参数。转换类型而已,那有什么参数可言。2、转化函数没有返回类型,返回类型就是operator后面的double。他...

2018-11-24 20:29:43 153

原创 C++面向对象高级编程(上) 第三周 侯捷 类与类之间的关系

Composition(复合)——has a类中有类  Adapter(一种设计模式名)例如:queue里面包含了deque,他通过调用deque的函数来实现增加的功能。所有的功能都在的deque中完成了,queue想拥有deque的功能,就这么做。queue里面,只实现了调用个deque的功能,并没有实现deque的全部功能。并不是所有的复合都长成这样,我们这里是用ada...

2018-11-24 20:00:32 272

原创 用c++实现《图解设计模式》——template method 模式

定义一个操作中的算法骨架,将某些实现延迟到子类(就是利用虚函数,让子类去实现某些功能,这些方法一般都设置成protected的,因为public出去没有意义,你是希望子类的实现这个方法)。Template method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 在父类中定义处理流程的框架,在子类中实现具体处理的模式称为template method。 设计模式...

2018-11-24 09:46:33 174

原创 用c++实现《图解设计模式》——iterator模式

书里面都是Java实现的,书上的知识点不再赘余。这里用c++把书上的设计模式实现一下,加深自己对于该设计模式的理解。 定义: 特点:通过迭代器隔离算法和容器。为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行操作。 缺点:虚函数调用是有性能成本的。需要根据虚函数的表指针去找你的函数地址,每次都要进行二次指针的间接运算。 ...

2018-11-24 01:02:10 282

转载 去BAT,你应该要看一看的面试经验总结(职位:c++ Linux服务器开发)

转自:https://blog.csdn.net/analogous_love/article/details/79567034这篇博客原作者的博客链接:https://blog.csdn.net/analogous_love 一、以百度、爱奇艺等为代表的,以数据结构和算法为主。首先是简单地了解下你之前的工作经历和项目经验,然后就是算法和数据结构题目,具体涉及到以下内容:01快...

2018-11-22 13:30:23 1501

转载 c++ 之 const整理

来源:https://www.cnblogs.com/cthon/p/9178701.html const对象不能够调用非const成员函数。 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 co...

2018-11-22 12:46:01 185

转载 C++练级标准

路漫漫其修远兮https://blog.csdn.net/zjf280441589/article/details/37913331

2018-11-21 08:18:20 175

原创 《计算机网络教程 自顶向下方法》 第一章

TCP/IP协议族(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)  层次化结构 路由器只涉及 3 层(网络层、数据链路层、物理层)。虽然一个路由器总是拥有一个网络层,但是它涉及 n 个数据链路层和物理层的组合,其中 n 为路由器连接的链路的数目。其主要原因是每一个链路可以使用它自己的数据链...

2018-11-20 20:03:33 1802

原创 进程process pid 与线程(一)——进程

进程,是对正在运行的程序的一个抽象。进程进程由三部分组成程序段 相关的数据段 PCB ——进程控制块,即 PCB(Process Control Block)CPU由一个进程快速切换至另一个进程,使得每个进程运行几十或几百毫秒,从而产生一种并行的错觉。进程模型一个进程就是一个正在执行程序的实例,包括程序计数器、寄存器和变量当前值。从概念...

2018-11-20 16:36:20 5945

原创 https是如何加密的

由于http协议是明文传输数据,数据的安全性没有保障。为了改进这种明文传输协议,https诞生了。https是在应用层和传输层之间,增加了一层ssl加密。对于加密,请往下看:1、对称加密每次在发送数据之前,服务器先生成一把密钥,然后先通过明文传输的方式将密钥传递给客户端。之后服务器给客户端传送数据的时候,会用着把密钥对数据进行加密,客户端收到加密数据之后,用刚刚收到的...

2018-11-20 12:04:27 5171 4

转载 如何学好 Linux、C++,并搞定 BAT 面试 作者/分享人:天千

学好Linux运维需要做到以下几点1、多做实验 实验环境完全可以通过VMware来模拟,模拟私有网络,模拟多台机器,要搞懂VMware提供的集中网络模式的工作原理(桥接网络、宿主机网络、NAT等),这对整个Linux后续的学习帮助都非常之大,还可以通过虚拟机模拟Grub损坏并进行修复、模拟忘记密码并通过单用户模式修改密码等等。 2、LNMP、DHCP、DNS、MySQL等等这些网...

2018-11-19 12:09:39 715

原创 c++ 数据字节

#include <iostream>using namespace std;void main(){ cout << sizeof(char) << endl; cout << sizeof(unsigned char) << endl; cout << sizeof(signed char) <&lt

2018-11-18 23:31:54 187

原创 int 与 unsigned int

cpp primer  P31带符号类型和不带符号类型 1、除去布尔型和扩展字符外,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种。signed类型可以表示正数、负数或0,无符号类型则仅能表示大于等于0的值。(unsigned int 可以所写成 unsigned)2、当我们赋值给无符号类型一个超出他表示范围的值时,结果是初始值对无符号类型表示数值...

2018-11-18 17:24:42 5156

转载 整理位运算

参考链接(总结的非常好,各种奇淫技巧):https://blog.csdn.net/MoreWindows/article/details/7354571 1、优先级 “<<” 和 ">>" 的优先级低于 “+” 和 “-”。    “~” 按位求反   “^”按位异或    “|”按位求或     “&”按位求与 2、基本概念注意以...

2018-11-18 15:59:44 147

原创 捋一捋 const char * p / char* const p / char const* p

const int *p 与 int const *p 是一样的,即 *p 是常量;而 int * const p 跟上面是不一样的,即 p 是常量;我们知道引用只是一个别名,与变量共享存储空间,并且必须在定义的时候初始化,而且不能再成为别的变量的别名,这让我们想到什么呢,貌似跟  int * const p   的性质很像。其实引用的底层就是用const指针来实现的 con...

2018-11-16 18:37:09 1292

原创 面试过程中遇到的智力题

1、滴滴三面真题考虑一个双人游戏。游戏在一个圆桌上进行。每个游戏者都有足够多的硬币。他们需要在桌子上轮流放置硬币,每次必需且只能放置一枚硬币,要求硬币完全置于桌面内(不能有一部分悬在桌子外面),并且不能与原来放过的硬币重叠。谁没有地方放置新的硬币,谁就输了。游戏的先行者如何保证自己必胜?    答案:先行者在桌子中心放置一枚硬币,以后的硬币总是放在与后行者保持中心对称。这样,只要后行...

2018-11-15 21:38:21 482

转载 vector的几种初始化及赋值方式

转自:https://blog.csdn.net/yjunyu/article/details/77728410?locationNum=10&fps=1 vector的几种初始化及赋值方式:(1)不带参数的构造函数初始化//初始化一个size为0的vectorvector<int> abc;(2)带参数的构造函数初始化//初始化size,但每个元...

2018-11-15 09:57:09 2266

转载 c++ 技能树

2018-11-15 08:36:42 3338

原创 查看运行结果

看下列代码的运行结果#include "pch.h"#include<iostream>using namespace std;class A{public: A() { a = 1; b = 2; }private: int a; int b;};class B{public: B() { c = 3; } void prin...

2018-11-14 23:47:21 256

转载 nginx图谱

2018-11-14 19:18:21 305

转载 职业规划方向路线图

2018-11-14 19:16:54 940

转载 收藏-赵四老师的经典语录

理解和讨论之前请先学会如何观察!计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……对学习编程者的忠告:多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程!眼过千遍不如手过一遍!书看千行不如手敲一行!手敲千行不如单步一行!单步源代码千行不如单步Debug版对应汇编一...

2018-11-13 14:14:48 736

原创 记录各个七七八八的输入 持续更新中

校招在线笔试做编程题的时候,输入的要求常常是不同的,记录每一次的输入,等以后在线笔试的时候就不慌了,噗哈哈1、每次输入一个数字,当输入的不是数字的时候,循环结束(注:当输入 回车、空格、tab键的时候,程序不会退出)int main() { //数据输入接口 int input = 0; while (1) { //如果input不是数字,则跳出循环 ci...

2018-11-13 11:39:55 177

转载 命名空间专有函数

转自: https://blog.csdn.net/zhizhengguan/article/details/80940881#include <iostream>using namespace std;namespace data{ int a; int b; int numa(int a, int b); //函数声明 int add(int a, int...

2018-11-11 11:02:55 253

原创 用户数据包协议(user datagram protocol)——UDP

用户数据报协议(User Datagram Protocol,UDP)是无连接不可靠传输层协议。它不提供主机到主机通信,它除了提供进程到进程之间的通信之外,就没有给 IP 服务增加任何东西。此外,它进行非常有限的差错检验。如果 UDP 功能是如此之差,那么为什么进程还要使用它?它有缺点也有优点。UDP 是一个非常简单的协议,开销最小。如果一个进程想发送很短的报文,而且不在意可靠性,就可以使用 UD...

2018-11-08 16:10:03 4743

原创 剑指offer第二章——c++实现 持续更新中

2.1面试官谈基础知识1、c++的基础知识(面向对象的特性、构造函数、析构函数、动态绑定、内存管理)2、设计模式3、uml图4、并发控制5、对os的理解程度时间复杂度排序:O(1) > O(lognN) > O(n) > O(NlogN) > O(N*N) 2.2 编程语言c++三种考查方式:1、考概念(重点考察c++关键字的理解程度...

2018-11-06 11:13:50 287

原创 《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell

本章内容1、什么是Linux2、Linux内核的组成 1、1 什么是LinuxLinux课划分为以下四部分a)Linux内核b)GNU工具c)图形化桌面环境d)应用软件 1.1.1 深入探究Linux内核内核主要负责以下四种功能a)系统内存管理b)软件程序管理c)硬件设备管理d)文件系统管理 1、系统内存管理内核不仅管...

2018-11-05 16:16:09 230

原创 剑指offer——第一章(C++实现)

写在前面的话面试官会关注边界条件、特殊输入(如nullptr指针、空字符串等)以及错误处理。 题目1:把一个字符串转换成整数边界条件:1)考虑到输入的字符串中有非数字字符和正负号2)要考虑到最大的正整数和最小的负整数以及溢出3)考虑到当输入的字符串不能转换成整数时,应该如何做错误处理。实现代码:#include <iostream>#includ...

2018-11-05 12:31:26 264

原创 c++ 逗号运算符

逗号运算符含有两个运算对象,按照从左向右的顺序依次求值。对于逗号运算符,首先对左侧表达式求值,然后将求值结果丢弃。逗号运算符真正的结果是右侧表达式的值。逗号运算符经常被用在for循环中:#include <iostream>#include<vector>using namespace std;int main(){ vector<int&g...

2018-11-04 16:50:26 568

原创 传输控制协议(transmission control protocol)——TCP 整理

TCP服务1、TCP使用端口号来实现进程间通信2、TCP 是一个面向流的协议。TCP 允许发送进程以字节流形式传递数据,并且接收进程也以字节流形式接收数据。3、因为发送和接收进程可能以不同的速度写入和读出数据,所以 TCP 需要用于存储的缓冲区。每一个方向都存在一个缓冲区:发送缓冲区和接收缓冲区。实现缓冲区的一种方法是使用以一字节为存储单元的循环数组。      在发送端,缓...

2018-11-03 21:53:12 6316

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除