自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 leetcode每日一题:从前序和中序遍历构造二叉树

- 遍历pIndex操作优化:将中序遍历序列遍历一次,将数值和下标存储在unordered_map里 - 递归时需要传入的参数: 1: 前序遍历序列 2:中序遍历序列 3:前序遍历的左边界 4:前序遍历的右边界 5:中序遍历的左边界 6:中序遍历的右边界 7:存储中序遍历数值和下标...

2020-05-23 16:16:31 61 0

转载 非root用户启动docker

https://www.cnblogs.com/informatics/p/8276172.html

2019-12-11 10:11:47 272 0

原创 进程间通信/RPC/Thrift RPC介绍

进程间通信(IPC)分为 (1)本地过程调用(LPC)LPC用在多任务操作系统中,使得同时运行的任务能互相会话。这些任务共享内存空间使任务同步和互相发送信息。 (2)远程过程调用(RPC)RPC类似于LPC,只是在网上工作 RPC(Remote Procedure Call远程过程调用)是一...

2019-12-11 09:23:47 233 0

原创 c++多个源文件访问同一个全局变量

分为3步: 1.在A.cpp 中声明: extern int a; 2.在A.cpp【注意和上面A.h对应】中定义: int a; 或 int a=0;\ 3.在其他源文件中直接访问即可 c.cpp中: a=10; 参考:https://www.cnblogs.com/in...

2019-11-22 13:04:41 127 0

原创 bug记录——头文件中的全局变量xxx重复定义

在多个cpp文件中都要访问main.h中的全局变量,所以在main.h中添加了 A a;的定义。在不同的源文件中向a的各成员变量赋值。 但是在没加static关键字时,编译一直报a变量在多个源文件中重复定义的错误。 起初以为是因为main.h被多个源文件包含,所以重复包含的原因。但在main...

2019-11-22 12:27:40 78 0

原创 bug记录——expected initializer before

错误现象: 但是Tserver.h都是thrift库的头文件,不应该出错。 最后发现是在报错的前一个头文件声明函数或者变量时少了一个分号导致下一个头文件报错。 需要注意。 ...

2019-11-22 11:59:10 101 0

原创 bug记录——macro names must be identifiers

用 以数字开头的.thrift文件(615A.thrift)生成cpp文件,其中会生成615A_types.h,内容是 #ifndef 615A_TYPES_H #define 615A_TYPES_H 。。。 #endif 编译报错: 参考:https://www.cnblogs....

2019-11-21 13:26:56 43 0

原创 bug记录——C语言调用C++函数接口

结论 当C语言 需要调用C++函数接口(比如func.h,func.cpp)时,func.h中不能出现c++特有的class定义或头文件包含。即:关于class的定义或含有class的头文件包含必须放在源文件中(如func.cpp中),不能放在头文件(func.h,无论是extern “C” 里还...

2019-11-20 12:32:29 47 0

原创 Effective C++笔记part 7、8、9

41.了解隐式接口和编译期多态 classes和Templates都支持接口和多态: 对class而言接口是显式的,以函数签名为中心。多态是通过virtual函数发生于运行期。 对template参数而言,接口是隐式的,奠基于有效表达式。多态则是通过template具现化和函数重载解析发生于...

2019-10-17 16:15:37 16 0

原创 Effective C++ 笔记 part 5、6

26.尽可能延后变量定义式的出现时间 尽可能延后变量的定义知道能够给它赋初值实参为止,这样做可以增加程序的清晰度并改善程序效率。否则会付出不必要的构造和析构成本。 当遇到循环时:若一个class的一个赋值成本低于一组构造和析构成本,在循环外声明变量,尤其是循环次数很多的时候。否则应在循环里声明...

2019-10-15 21:03:52 17 0

原创 Effective C++ 笔记 part 3、4

13.以对象管理资源 资源包括:内存、文件描述符、互斥锁、图形界面中的字型和笔刷、数据库连接、网络sockets 当不再使用资源时,一定要把它归还给系统 以对象管理资源(资源取得时机便是初始化时机RAII :Resource Acquisition Is Initialization):把资源放...

2019-10-12 20:33:17 22 0

原创 Effective C++ 笔记 part 1、2

Effective C++ 视 C++ 为一个语言联邦 C object-oriented C++面向对象:封装、继承、多态 Template C++泛型编程:包括TMP(Template Metaprogramming 模板元编程) STL:是一个Template程序库,包括容器、...

2019-10-11 15:40:06 15 0

原创 c++各种知识点总结

C++ 参考了https://interview.huihut.com 1.const 作用 1. 修饰变量,说明该变量不可以被改变; 2. 修饰指针,分为指向常量的指针(const T *指向常量的指针,先是常量类型,再是指针)和指针常量(T *const指针常量:指针在前 常量在后); ...

2019-10-07 21:26:40 29 0

原创 ubuntu安装开发环境:VSCode、golang、git、redis、sublime及go插件、boost库、thrift等

1.VSCode 方法一: 依次输入如下命令 1、sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make 2、sudo apt-get update 3、sudo apt-get install ubuntu-make 4、umak...

2019-09-26 11:22:37 138 0

原创 go 流程控制及函数相关

流程控制 switch go语言中的case不仅可以基于常量进行判断,也可以基于表达式进行判断,不用写break 一分支多值: case “1”,”2” 分支表达式:case 4>r &&r>2 // 这种条件下switch后不再跟判断变量(无判断目标) fa...

2019-09-21 22:45:07 30 0

原创 go语言容器

数组 声明 var 数组变量名 [元素数量] T 如:var team [3]string 初始化 在声明时初始化 var team=[3]string{“1”,”2”,”3”} 可以不写大小 var team=[…]string{“1”,”2”,”3”} 遍历 for k,v:=r...

2019-09-19 15:28:03 187 0

原创 go语言工具及命令

一.概述 二、常用命令具体介绍 go build 编译命令:complie pakages and dependencies 跨平台编译:env GOOS=linux GOARCH=amd64 go build 指定目标平台,所编译出来的文件就是可以直接在目标平台上运行的二进制文件 ...

2019-09-18 13:54:37 55 0

原创 golang语言test文件编写基础

一、test文件注意事项 每个test文件必须import testing 每一个test case必须以Test开头且符合TestXxx形式(Test开头且接下来的第一个字母P大写),否则go test会直接跳过测试不执行 入参的类型必须为 t *testing.T (普通test)或b ...

2019-09-18 13:52:50 281 0

原创 c++ 11/14新特性

1.auto关键字能够在赋值语句里推导类型,decltype能在任意场合下推导类型,但使用时必须在括号内写全表达式。 auto只能用于赋值语句的类型推导,不能直接声明变量(因为无表达式供推导) auto总是推断出值类型而不是引用类型 auto允许使用const/volatile/&/*等修...

2019-09-18 09:04:49 86 0

原创 python基础之——语法(from 莫烦python)

1.print 字符串不可以直接和数字相加 print(float(‘1.2’)+3) #float()是浮点型,可以把字符串转换成小数 print(int(‘2’)+3) #int为定义整数型 print(int(1.9)) #当int一个浮点型数时,int会保留整数部分 2.基础数学运算 在...

2019-08-30 21:04:40 93 0

原创 c++ lambda表达式

1.lambda表达式 一个lambda表达是定义了一个匿名函数。不同于一般函数的地方时,lambda可以捕获它们作用域内的变量然后使用它们。 实现: [] (double value){return valuevaluevalue;} [] lambda引入符,[]内可以空或非空,()内是lam...

2019-08-30 20:56:47 36 0

原创 STL算法、仿函数、配接器

STL算法、仿函数、配接器 1.数值算法 #include acculmate(first,last,初始值,[op])//[op]可选,当其为minus()时表示累减,multiplies() 乘,有初始值的作用之一是当输入区间为空时,认可获得一个明确定义的的结果 inner_product(...

2019-08-30 20:26:53 45 0

原创 C++智能指针

1.智能指针 智能指针是一个可以模仿原生指针的模板类,与原生指针有两点区别: 1智能指针只能用来保存堆上分配的内存 2不能像对原生指针那样,对智能指针进行一些自增或自减之类 的算术运算 智能指针自动释放不需要的对象,消除了内存泄露的可能性。 通常在自由存储区创建的对象使用智能指针而不是原生指针...

2019-08-30 20:23:14 67 0

原创 c++ stl使用与说明

1. for_each(起始迭代器,迭代器末尾+1,函数名); //对范围内的元素进行操作,比如print 2.distance(first, last)函数用来计算两个迭代器的距离 3.setprecision()函数实现格式控制 使用:#include <iomanip> cou...

2019-08-28 22:38:04 39 0

原创 c++归并排序

/* * * 递归:样本量发生了变化,但是过程可以复用 * 写递归时先写base case,即递归退出条件 * 压栈:父函数中所有的变量及行号信息都会压入栈,根据此信息依次返回父函数 * */ /** * 归并排序:先用递归将左边的部分按顺序拍好,再将右边的部分按顺序排好 * 归并:两个下标分别...

2019-08-08 14:56:43 19 0

原创 windows下生成文件目录树

cmd进入命令窗口 进入目标文件夹 输入tree /f >xxx.txt后回车 则目标文件夹下会生成xxx.txt文件,其内容为目标文件夹的文件目录树 如下图:

2019-07-17 19:41:16 251 0

原创 将VSCode的终端设置为git-bash

将settings.json文件改成下图: 注意标题和内容都要一致,否则可能会失败

2019-07-02 15:24:27 2648 0

转载 在右键菜单中添加 用VScode打开选项

复制如下代码,将其中的路径改为自己的VSCode安装路径,文件保存问xxx.reg后双击运行 如果有提示选择确定 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\VSCode] @="Open wit...

2019-05-31 10:25:17 1984 0

转载 vxworks下logmsg

参考https://blog.csdn.net/mndlyt/article/details/19817229 printf( ) - write a formatted string to the standard output stream (ANSI). logMsg( ) does n...

2019-05-23 20:06:53 376 0

原创 java基础学习笔记(二)

1.负数的二进制表现形式是整数取反+1 int 6: 0000-0000 0000-0000 0000-0110 int -6:1111-1111 1111-1111 1111-1010 integer.toBinaryString(x)//返回x的二进制的字符串表示形式 System。out.p...

2019-05-14 16:15:19 33 0

转载 为什么以太网最小帧长64B?以太网头部14字节可能带来的效率上的问题

1.参考:http://blog.sina.com.cn/s/blog_564fc50a0100lypt.html 以太网是不可靠的,无连接的 尽力传输。使用CSMA/CD 同时发送数据会发生碰撞。 假设A检测到网络是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空...

2019-05-11 17:38:17 912 0

原创 卸载WPS后安装office,office文档图标显示异常的解决方法

参考:https://blog.csdn.net/loveyuexibo/article/details/82049867 文档图标显示为全白,或者像可执行程序的图标等 首先找到自己的office安装路径,查找WORDICO.EXE,PPTICO.EXE,XLICONS.EXE路径,这几个文件...

2019-05-06 21:25:50 2318 4

原创 Linux命令及说明【更新中】

1.yum install与yum groupinstall的区别 1,yum install 它安装单个软件,以及这个软件的依赖关系 2,yum groupinstall 它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系 2.语言相关 echo$LA...

2019-05-06 09:46:31 94 0

原创 C语言指针数组初始化

1.char类型的指针 char*names[]={"zhangsan","lisi","wangwu"};//可以这样初始化 这样,每个指针指向对应的字符串 2.其他类型的指针 int*nums[]={1,2,3,4,5};...

2019-05-06 09:24:41 4649 2

原创 网络IO复用模型

1.poll(epoll中的LT模式,电平触发模式)poll不支持边沿触发 说明 监听套接字应该设置为非阻塞模式,否则会影响服务器的并发性 ret是成功写入的数据大小,10000是想要写入的数据大小 应该使用下右下角的连接套接字处理过程 当数据包比较大时,一个数据包要进行两次read,...

2019-04-27 15:06:54 435 0

原创 HTTP协议

1.举例 Cache-Control缓存控制是WEB开发中对性能提升最大的一部分,不仅仅是设置缓存过期时间。可以设置是否适用缓存,只在客户端缓存,缓存验证(last-modified配合if-modified-since验证或者stag配合if-none-match验证) Cookie用来保持会话...

2019-04-15 22:32:15 241 0

转载 为什么要将应用程序打包

https://bbs.csdn.net/topics/392289289

2019-04-11 14:00:59 319 0

原创 网口与串口的区别

串口有两种 1.PC上的COM口 COM口即串行通讯端口。微机上的com口多为9针,最大速率115200bps。通常用于连接鼠标(串口)及通讯设备(如连接外置式MODEM进行数据通讯)等。但目前主流的主板一般都只带1个串口,甚至不带。 机箱后面,梯形的,两排,一排5个孔,一排4个孔 一般有两个...

2019-04-08 15:45:43 10800 0

转载 bug系列(二)release版本DLL报错,debug版本正常

一、链接错误 编译成release版本时,提示 Linking... nafxcw.lib(thrdcore.obj):errorLNK2001:unresolvedexternalsymbol__endthreadex nafxcw.lib(thrdcore.obj):errorLNK2001...

2019-04-02 08:48:32 435 0

转载 LInux进程/线程 各种id

参考:Linux公社 微信公众号文章 一、进程与线程的异同 1.进程是资源分配的基本单位,线程是系统调度的基本单位 2.进程是资源的集合,这些资源包括内存地址空间,文件描述符等,一个进程中的多个线程共享这些资源 3.CPU对任务进行调度时,可调度的基本单位是线程。如果一个进程中没有其他线程...

2019-04-01 09:15:40 78 0

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