- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 std容器的emplace_back 与 push_back的区别
c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题就是临时变量申请资源的浪费。引入了右值引用,转移构造函数后,push_back()右值时就会调用构造函数和转移构造函数,如果可以在插入的时候直接构造,就只需要构造一次即可.
2020-11-12 00:17:13
797
1
原创 有名信号量sem_open和内存信号量sem_init创建信号量的区别
两个函数原型如下:有名信号初始化:sem_t *semsem_open(const char *name, int oflag, .../*mode_t mode,unsinged int value);内存信号量初始化:int sem_init(sem_t *sem,int shared, unsignedint value);区别:1.创建有名信号量必须指定一个与信号量相关链的文件名称,这个name通常是文件系统中的某个文件。 基于内存的信号量不需要指定名称2.有名信号量...
2020-09-15 00:00:04
2175
原创 平时用来调试的日记打印源码
#ifndef LOG_H#define LOG_H// simple log macros in a single header file// Author by TyK// Link: https://github.com/lazytinker/log.h#include <stdio.h>// Enable time will cause compiler error in C++.#ifdef __cplusplus#define LOG_DISABLE_TIME.
2020-09-14 20:42:31
193
原创 线程数据共享:pthread_getspecific和pthread_setspecific
thread_getpecific和pthread_setspecific提供了在同一个线程中不同函数间共享数据即线程存储的一种方法。具体用法为:1.调用pthread_key_create()来创建一个类型为pthread_key_t类型的变量该函数有两个参数,第一个参数就是声明的pthread_key_t变量,第二个参数是一个清理函数,用来在线程释放该线程存储的时候被调用。该函数指针可以设成NULL,这样系统将调用默认的清理函数。2.调用pthread_setspcific()当线程中需要
2020-09-08 21:51:08
361
原创 2020-09-04
tcp协议栈在三次握手当中,服务器接受客户端主要是做以下几件事:三次握手第一次握手:半连接队列:syn队列accept函数做两件事情1:从accept队列中取出一个节点2:为这个节点分配一个fd,与节点一一对应...
2020-09-04 22:02:32
146
原创 布隆过滤器
#布隆过滤器##布隆过滤器的引入这些复杂问题怎么办?使用word文档时,判断某个单词是否拼写正确?网络爬虫程序,不去爬相同的url页面?判定一个字符串是否存在垃圾邮件过滤算法如何设计?缓 存崩溃后造成的缓存击穿?FBI,一个嫌疑人的名字是否已经在嫌疑名单上?##布隆过滤器的原理##如何选择hash函数个数和布隆过滤器的长度根据下面的网址可以设置合适的kmp的值https://hur.st/bloomfilter/##布隆过滤器不可以删除元素在布隆过滤器算法中,不能因为有碰撞的
2020-08-29 17:13:01
158
原创 高并发分布式队列设计
@TOC高并发分布式队列设计#用户他欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示
2020-08-07 22:31:44
329
原创 Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear only onceand return the new length.Do not allocate extra space for another array, you must do this in place with
2017-10-18 21:24:20
344
原创 Qt数据库SqlLite操作例程
直接上代码:widget.h文件内容:#ifndef WIDGET_H#define WIDGET_H#include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0);
2017-03-13 20:03:40
739
原创 connect函数的第五个参数特点
connect()第五个参数的作用,指定连接方式:默认,队列,直接 多线程时才有意义 默认的时候 如果是多线程,默认使用队列 如果是单线程, 默认使用直接方式 队列: 槽函数所在的线程和接收者一样 直接:槽函数所在线程和发送者一样
2017-03-11 12:42:39
3775
转载 protobuf repeated类型的使用
protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。首先定义一个protobuf结构,
2017-03-10 10:01:18
1549
原创 QTimer类使用方法。
widget.h#ifndef WIDGET_H#define WIDGET_H#include #include namespace Ui {class Widget;}class Widget : public QWidget{ Q_OBJECTpublic: explicit Widget(QWidget *parent = 0); ~W
2017-03-06 23:06:50
1092
原创 Qtudp组播编程
其必须指定为IPV4。编程为:udpSocket->bind(QHostAddress::AnyIPv4, 8888); //加入某个组播 //组播地址是D类地址 udpSocket->joinMulticastGroup( QHostAddress("224.0.0.2") );
2017-03-06 22:36:09
2016
原创 QDataStream类用法实例
void Widget::writeData(){ //创建文件对象 QFile file("../test.txt"); //打开文件, 只写方式打开 bool isOk = file.open(QIODevice::WriteOnly); if(true == isOk) { //创建数据流,和file文件关联
2017-03-05 10:46:25
4361
原创 QT绘图设备QPixmap,QImage,QPicture的区别
QPixmap:针对屏幕进行了优化,和平台无关,不能对图片进行修改。QImage:和平台无关,可进行对图片进行修改,在线程中绘图。QPicture:保存绘图的状态(二进制文件)。
2017-03-05 10:09:13
603
原创 把qt中的qdebug()宏定义成C++类型的cout
有时候我们在写Qt程序的时候很烦qdebug(),但是我们可以把其宏定义成为C++类型的cout。#define cout qDebug()
2017-03-04 17:03:19
2229
原创 QFile类读写文件编程
QFile提供了从文件中读取和写入数据的能力。我们通常会将文件路径作为参数传给QFile的构造函数。不过也可以在创建好对象最后,使用setFileName()来修改。QFile需要使用 / 作为文件分隔符,不过,它会自动将其转换成操作系统所需要的形式。例如C:/windows 这样的路径在 Windows 平台下同样是可以的。 QFile主要提供了有关文件的各种操作,比如
2017-03-04 15:50:18
1774
原创 popen()函数简要介绍
函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止状态。如果shell不能被执行,则pclose()返回的终止状态与shell已执行exit一样。 type参数
2017-02-13 16:21:57
859
原创 海思平台IPC图像调试经验总结
DRC:开启后,会提升暗处细节,同时也提升噪声,导致噪声强度相比DRC关闭时更大些,此时边缘增强,去噪功能都应该与DRC有关AE:1: 曝光时间:sensor 积累电荷的时间,是 sensor pixel 从开始曝光到电量被读出的这段时间。2: 曝光增益:对 sensor 的输出电荷的总的放大系数,一般有数字增益和模拟增益,模拟增益引入的噪声会稍小,所以一般优先用模拟增益。
2017-02-13 09:36:50
19798
1
原创 SVN提交和更新代码命令
更新最新版本代码命令:svn co +代码路径。更新特定版本命令:svn co +代码路径 加上-r+代码版本号。提交命令: 先是执行svn st命令查看更改的代码,再执行svn ci +所提交的代码+-m"提交代码说明"。
2017-02-10 13:33:23
4530
原创 linux下的解压命令
压缩命令tar -czvf ***.tar.gztar -cjvf ***.tar.bz2解压命令tar -xzvf ***.tar.gztar -xjvf ***.tar.bz2
2017-01-22 14:39:11
393
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人