• 等级
  • 4698 访问
  • 41 原创
  • 23 转发
  • 119230 排名
  • 1 评论
  • 6 获赞

C++中string基础操作

1. 截取子串        s.substr(pos, n)    截取s中从pos开始(包括0)的n个字符的子串,并返回        s.substr(pos)        截取s中从从pos开始(包括0)到末尾的所有字符的子串,并返回   2. 替换子串        s.replace(pos, n, s1)    用s1替换s中从pos开始(包括0)的n个字符的子串   ...

2018-09-18 01:03:49

vector的几种初始化方式

vector的几种初始化及赋值方式: (1)不带参数的构造函数初始化 //初始化一个size为0的vector vector<int> abc; (2)带参数的构造函数初始化 //初始化size,但每个元素值为默认值 vector<int> abc(10); //初始化了10个默认值为0的元素 //初始化size,并且设置初始值 vector<int...

2018-09-17 16:16:41

Linux截取文件指定行数之间的内容

在集群上跑数据时市场会出问题,为了方便查看日志个人喜欢将日志下载本地使用notepad查看,但是由于集群是公用资源,每一个日志文件都会非常大,如图: 不便于下载到本地进行查看,为了可以将你关注的部分日志下载到本地,可以进行如下操作: 1: 确定有自己业务有关的日志在文件中的行数 grep -n "业务有关的关键字" hive.log.2018-06-26 图中关键字为0201...

2018-09-03 16:57:22

google 工具 gflags

简单介绍 gflags 是 google 开源的用于处理命令行参数的项目。 安装编译 项目主页:gflags ➜ ~ git clone https://github.com/gflags/gflags.git # 下载源码 ➜ ~ cd gflags ➜ gflags git:(master) ✗ mkdir build && cd build # 建立文件夹...

2018-08-23 12:31:20

c++模板中的 typename 和 class

在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为:template <class T> 在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆...

2018-08-16 17:43:54

Linux下编程用到的锁

线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能越强大,性能就会越低。 1、互斥锁 互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量。也就是说是为了避免多个线程在某一时刻同时操作一个共享资源。例如线程池中的有多个空闲线程和一个任务队列。任何是一个线程都要使用互斥锁互斥访问任务队列,以避免多个线程同时访问任务队列以发生错乱。 在某一时刻,只有一个线程可以获...

2018-08-15 16:40:51

STL中的sort函数实现原理

STL的sort()算法,数据量大时采用Quick Sort,分段递归排序。一旦分段后的数据量小于某个阈值,为避免Quick Sort的递归调用带来过大的额外开销,就改用Insertion Sort(插入排序)。如果递归层次过深,还会改用Heap Sort。 STL中的sort并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动...

2018-08-15 16:31:19

RPC协议

rpc是远程程序调用,调用协议通常包含 1)传输协议 和 2)编码协议 传输协议(用于数据传输):grpc使用HTTP2协议,dubbo使用自定义报文的TCP协议,还有 MQ 编码协议(用于数据序列化):基于文本编码的xml、json,基于二进制编码protobuf等 feature1: 通用定义的 http1.1 协议的 tcp 报文中有效编码占比比较少,一个 POST 协议的格式大...

2018-08-14 18:36:47

python中统计程序时间

方法1 import datetime starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_fun() end = time.time() print end-st...

2018-07-26 23:20:21

Linux中的sed命令

sed命令概述 sed全称是 stream editor,即流编辑器。sed命令一次处理一行内容,把当前处理的行存储在临时缓冲区中,称为“模式空间”,然后sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容输出到屏幕。然后,接着处理下一行,这样不断重复,直到文件末尾。在操作中,除非重定向存储输出,否则只改变缓冲区中的内容,文件内容并没有改变。 sed命令是Linux中非常重要的一个文本...

2018-07-17 16:11:43

vim创建代码时自动化添加注释

打开~/.vimrc文件,在最后一行下面添加如下如下代码: autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" "新建.py,.cc,.java,.sh, "定义函数SetTitle,自动插入文件头 func SetTitle() if expand("%:e") == 'cc' c...

2018-07-10 19:50:11

Gtest简介

前言    Gtest是Google公司发布的一款非常优秀的开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括ChromeWeb浏览器、LLVM编译器架构、ProtocolBuffers数据交换格式及工具等。在我们开发规范的代码时候,要想办法构造简单的测试用例进行调试,因此针对gtest中的三种事件机制进行简单的分析。    在单元测试中,我们经常需要在某个...

2018-07-05 17:15:30

Linux研发入门篇(一)

一:前言对于想要在Linux下C/C++下开发稍微大型的程序的程序员们都知道,在Linux下处理头文件是一件很头大的事情。比如使用printf函数这种C函数库则需要引用#include <stdio.h>,使用C++中的STL的map容器则要#include <map>,使用socket网络编程则要#include <sys/socket.h>,我们思考下uin...

2018-06-28 18:05:05

strcpy、memcpy和memset之间的区别

              今天刷题时遇到了这个问题,记录一下。               strcpy比较简单,就是拷贝字符串,遇到'\0'时结束拷贝。                memcpy用来做内存拷贝,可以拷贝任何数据类型的对象并指定拷贝数据的长度:char a[100],b[50]; memcpy(b, a, sizeof(b));             总结一下:       ...

2018-06-03 20:33:47

leetcode 456. 132 Pattern

Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input ...

2018-06-03 14:58:19

B树和B+树

B树(B- tree) B树不是二叉树,是多叉树 就像在上图中看到,一个节点如果有n个关键字,那么这个节点就会有n+1个子树 这点很好理解,就像节点key = 2 , 那么我们<2 , >2的两部分就构成了它的子树 特性 : 1. 关键字集合分布在整颗树中; 2. 任何一个关键字出现且只出现在一个结点中; 3. 搜索有可能在非叶子结点结束; 4. 其搜索性能等价于在关键字全集内做一次二...

2018-05-30 17:46:03

mmap基础概念与使用

阅读目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节回到顶部mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完...

2018-05-26 10:36:28

leetcode Linked List Cycle II

Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.Follow up:Can you solve it without using extra space?如下图所示,X,Y,Z分别为链表...

2018-05-26 09:17:45

leetcode : Unique Binary Search Trees

Given n, how many structurally unique BST's (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / ...

2018-05-24 15:19:13

LeetCode : Binary Tree Zigzag Level Order Traversal

Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).For example:Given binary tree {...

2018-05-23 19:14:43

vanturman

关注
  • 计算机软件
  • 中国 北京 海淀区