自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 cpp关键字

必须掌握 const 指针 函数 变量 返回值 class 成员 函数 static 面向过程 隐藏 延长生命周期 初始化 面向对象...

2020-05-08 08:36:44 446

原创 c vector<bool>

在不清楚vector<bool>的实现逻辑的时候,尽量不要使用,因为里面有些隐藏的问题,会出现不可预期的问题。首先,vector<bool>不是容器(https://www.zhihu.com/question/23367698/answer/148258487),实现的时候将模版特化了,使用位的方式存储。另外,性能也很差,和vector其他类型的模版相比,性能相差...

2019-10-25 10:05:51 297

转载 理解std::move和std::forward

https://blog.csdn.net/f110300641/article/details/83477160

2019-10-15 17:21:25 135

原创 c++知识点总结

c++有继承和派生的概念,c++还有构造函数和析构函数的定义,这两者之间组合起来有些问题需要注意下。 派生类中的构造函数需要显式的去掉用基类的构造函数,并进行赋值初始化操作; 基类中的析构函数需要设定成虚函数,这样派生类中的函数才会被真正的调用到,否则会出现派生类中的析构函数没有被调用,导致内存泄漏 const关键字 修饰变量的时候,变量被设定成常量,不能被修改。数据被存储在常量区...

2019-10-08 23:30:02 167

原创 【LeetCode】回溯法

N皇后问题

2019-10-07 16:22:29 81

原创 【LeetCode】动态规划

爬梯子零钱

2019-10-07 16:19:14 121

原创 【LeetCode】广度优先遍历

二叉树的层序遍历

2019-10-06 21:29:12 92

原创 【LeetCode】深度优先搜索

简单的深度优先搜索二叉树的最大深度二叉树的最小深度回溯算法括号匹配

2019-10-06 21:28:09 125

原创 gdb的常用命令

当代码写好了并在Linux上运行的时候,有的时候程序会崩溃,比如数组越界、除0、访问了野指针等。这就需要查找程序中的bug,使用gdb是一个比较好的方法。对一个二进制进行调试的时候,执行`gdb bin`就可以了,bin代表要测试的二进制,如果是要调试core文件,执行`gdb bin corefile`core file是程序coredump时候将内存dump到磁盘上的文件,这样就可以快速的...

2019-10-05 20:44:49 236

原创 C++Linux后台开发

C++基础知识 C++内存布局 多态与函数重载 指针与智能指针 static关键字 const关键字 extern关键字 gdb的常用命令 stl库中常用数据结构和算法 操作系统知识 进程与线程 协程 锁 消息队列(kafka的基本知识) 数据库(mysql与redis基本知识) 网络协议(socket的基本使用) TCP和UDP区别...

2019-10-05 17:58:46 314 1

原创 c++内存布局

写好了代码只是第一步,接下来还需要编译生成对应的二进制才能使用(预处理,编译,汇编,链接)。那么在运行的时候,代码和数据在内存中都是怎么分布的呢?c的内存布局是怎样的呢?c++的内存布局是怎样的呢?有一点值得注意,C语言和C++的内存布局是不一样的,这也就是平日里搜索c++内存布局的文章内容总是很相似但还不相同的原因,有些人没有对比清楚两者区别!我以前也是这样的。C内存布局c语...

2019-10-03 20:25:11 204

原创 c++只在堆和只在栈上创建对象

首先,分享一篇讲解的很详细的文章:https://blog.csdn.net/hxz_qlh/article/details/13135433其次,说下这里面涉及到的一些基础知识:c++的内存分配,类的成员函数的访问修饰符。对象在内存中可以存储在堆上也可以存储在栈上。静态建立的对象在栈上,好处是栈空间的申请效率高(编译器有直接处理的指令),操作系统会帮助管理变量的内存,当超出作用域后会被直...

2019-10-02 15:13:24 539

原创 c++回调函数和函数指针

函数指针真正的含义是函数的指针,即指向一个函数的指针。注意,函数指针是指向函数的指针,而不是返回一个指定类型的指针;返回一个指定类型的指针的函数叫做指针函数。函数指针的样子是void (*test)(...)的;指针函数的样子是void *test(...)(需要仔细的看test前面的*是否被()包住)。函数指针是实现一个回调函数的必要条件。函数指针代表的是一个函数的指针,将实现某一个功能...

2019-10-01 18:39:41 138

原创 cpp 语法相关

函数中传递参数,可以有基本的按值传递,也可以传递一些引用。传递左值的声明 "&",为了和传递右值进行区分,右值的表示符号是"&&"参考文章:https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/index.html...

2019-07-30 21:48:42 202

原创 cpp class中使用线程

std 中有thread库,可以直接使用。如果线程的函数是一个成员函数,需要在thread中加入this变量,如:thread th (&testclass::th_fun, this, args...);

2019-06-27 09:44:17 322

原创 cpp map 中存放class

注意,需要实现一个无参的构造函数,否则编译无法通过

2019-06-27 09:37:17 1095

原创 c++回调函数直观解释

函数指针与回调函数首先,函数指针是指向一个函数的指针变量,就是一个指针,不过指向的内容是函数。其次,回调函数是函数指针作为某个函数的参数。因此可以通过回调函数指针的方式去触发回调的操作。知乎上有一个形象的例子:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码...

2019-05-16 09:06:26 167

原创 bazel踩坑

general rules:filegroup ,genquery ,test_suite ,alias ,config_setting ,genrulegenrule可以使用shell命令来执行操作。该函数的定义中,可以调控的参数有genrule(name,srcs,outs,cmd,compatible_with,deprecation,distribs,...

2019-05-13 21:37:12 5006

原创 后端常见组件

后端常见组件 组件与技术名称 功能 备注 redis nosql数据库 全内存缓存数据 zookeeper 分布式服务框架 分布式环境下进行服务注册与服务发现 kafka 消息队列 模块解耦 bazel 编译构建工具 跨语言跨平台的构建工具 grpc 远程调用 protobuf ...

2019-05-08 00:33:57 3823

原创 c++变量定义

c++中变量有三个阶段:声明、定义和初始化。https://www.runoob.com/cplusplus/cpp-variable-types.html#include <iostream>using namespace std; // 变量声明extern int a, b;extern int c;extern float f; int main ()...

2019-05-06 23:57:09 1216

原创 c++类型转换

简单总结下:1.static_cast =c中的强转,fload a = (float) 1;不保证安全性2.const_cast 去const3.dynamic_cast 子类到基类的转换顺畅而自然,反过来的话,编译没问题,运行时候可能出现运行时错误参考https://blog.csdn.net/ydar95/article/details/698225404.reinter...

2019-03-23 17:11:23 66

转载 RPC

https://waylau.com/remote-procedure-calls/

2019-03-16 13:17:17 61

原创 【圣诞节立下一个学习计划】redis学习

一月底之前,完成redis的学习,留给自己35天的时间进行学习。为什么选择redis:开源的软件,源码容易获取;c++编写,与自己当前使用语言相同;源码很短,学习成本较小;资料丰富,参考着《redis设计与实现》进行学习;网络上的博客很多,一起学习的人很多,容易交流。目前选择博客较多的redis3.0进行学习。通过学习,能够达到什么目的:1.增强自己看代码的能力2.熟悉开源软件...

2018-12-25 09:26:17 175

原创 关于C与C++效率的问题

在九度OJ中,1061试题上,分别用C和C++风格来实现了一遍。下面贴出代码:C风格:#include#include#includeusing namespace std;struct student{      charname[110];      intage;      intscore;      boolop

2018-07-12 13:37:12 2170 1

转载 int ,long , long long, __int64等类型的范围(网上搜集)

unsigned   int   0~4294967295   int   2147483648~2147483647 unsigned long 0~4294967295long   2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigned long long的...

2018-07-12 13:35:11 2147

原创 CSDN加载图片的问题

这可以么

2017-04-11 15:59:05 422

原创 傻缺时刻集合

这两天没有在博客中记录自己写的学习过程,主要的原因是,我自己把博客给搞挂了。 问题是这样的,前几天没事做,11月28号11点17分,我就看框架源码,看见一个绑定先端页面的位置,就想换个名字玩玩,然后我就换了,测试也没问题。 现在想想,这些都是伏笔啊。后来也没注意,就想把测试的部分删掉。可也一直没有问题。 晚上的时候,我想把更多的端口用一用,正好有一个网络通信的源码,我就给他分配了一个端

2016-11-30 11:21:40 223

原创 剑指Offer——重建二叉树——C++

重建二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:根据前序第一个字符是根的特性,再在中序中找到这个位置,分开,左边的是左子树,右边的是右子树。然后递归求出结果。

2016-11-25 10:52:45 3504 6

原创 剑指Offer——从尾到头打印链表——C++

从尾到头打印链表题目描述输入一个链表,从尾到头打印链表每个节点的值。思路:直接打印就好了/***  struct ListNode {*        int val;*        struct ListNode *next;*        ListNode(int x) :*              val(x), next(NUL

2016-11-25 10:38:56 581

原创 剑指Offer——替换空格——C++

替换空格题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:记录空格个数,然后从后向前赋值,遇见空格替换成%20//length为牛客系统规定字符串输出的最大长度,固定为一个常数class Solution {public:    

2016-11-25 10:34:13 672

原创 剑指Offer——二维数组中的查找——C++

二维数组中的查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:遍历数组,得到ansclass Solution {public:    bool Find(vectorint> > array,inttarge

2016-11-25 10:26:49 445

原创 mysql的问题

刚刚要用数据库,看见了一篇总结的很全。http://blog.csdn.net/lxh090821/article/details/9410943放个链接,自己记录一下。留着学习

2016-10-19 19:11:38 168

原创 给自己的博客打一个广告

http://115.28.53.72/目前做的还比较差,只是刚刚跑通了流程,还没有什么太多的功能。比如说,我想要实现标签的功能,能够分类的进行处理,有页面展示的功能,有访问计数的功能等,目前还都没有实现。由于接下来我会刷题,可能会把程序传上来,需要有一个好一点的代码编辑器等,还需要慢慢的实现

2016-10-19 19:04:17 354

转载 c++深拷贝和浅拷贝

http://zhidao.baidu.com/link?url=LrrHVVCk-twXeH8j58sDc2GJ0ogumbXEc94zxMTIK5XhZYvbGXrxu6l3Rzc9bjcdIbGQ_R1gqWYj-KYR7Qzdva

2016-09-05 10:48:04 147

原创 git clone远程分支问题

计划着将别人github上所有的文件clone下来,不过克隆后发现只有几个基本文件:.git,README.md,LISENCE。和我想象的大不一样。经过学习,发现了原来分支上的文件要checkout到对应分支上去,然后再继续clone不过,还有一个问题,就是:每次checkout到分支进行克隆后,都会覆盖掉上一个分支的对应文件。问题没有解决,只能每次查看一个分支,进行处理了。

2016-07-24 10:05:14 897

原创 test

csdn的有新浪的方便么?

2016-03-17 16:44:21 155

原创 关于自己

自己到底怎么才能长大,是一个永恒的话题。成长,不只是年龄上的问题,而是心里年龄的问题。心智成熟,情商提高才是要做的。工作,仅仅是一个生存的途径,并不是唯一。生活,是情商的体现,总要做到面对一切问题,有办法解决,有能力解决。做一个成熟的自己,让情商提高到愉悦自己的程度,面对一切,都从容面对,顺而行之。当不顺心时,首先要做的是,静静的捋清思路,自己先冷静下来,要不然可能会一错再错。造成

2015-10-11 20:01:27 266

原创 做事的态度

做事就要持之以恒,否则,三天打鱼,两天晒网的态度会一事无成的。比如说编程的事情,半年没做,现在OJ上很随便的一道题,自己都做不出来,真对不起自己锻炼出来的那些基本功,全忘记掉了。另外,以后的研究方向,真是值得注意的,走什么道路完全取决于自己,自己要坚持内心想做的,别过分被不关心的事缠住了自己,坚持,我相信,自己是不同的,必将会绽放出眼里的色彩。我是一个理想主义者,理想不死,fi

2015-09-30 13:50:06 301

原创 写在周末

为甚么不能按Tab进行缩进啊,不开心。读研的日子不知不觉的过去半个月了,自己当初有好多想法想在读研期间实现,现在硬件条件达到了,可是自己懒惰,随波逐流,放纵自己,并没有达到自己想要的效果。所以,现在要好好 的计划自己的时间,进行理性科学的分配,争取一步一个脚印,步步为营,达到自己的目标。读研期间一共两年半,自己抓紧一下,还是可以让自己有一段值得回忆的时光。但下学期可能事情会

2015-09-26 10:51:49 194

空空如也

空空如也

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

TA关注的人

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