- 博客(19)
- 资源 (4)
- 收藏
- 关注
原创 C++再优化,80行, class转json,数据结构与算法分离
需求概述,从服务器用protobuf,接受消息,但是本身protobuf本身结构很大,使用自定义class接收protobuf消息,存储,并实现转json。数据结构与算法分离,使用jsoncpp,boost库。上结果上代码main.cpp//测试使用#include <iostream>#include "Class_to_Json.h"int main() ...
2019-03-08 17:03:18
542
原创 实现自己简单vector, 使用特化类型
复制构造函数还没写,先这样吧,用编译器给的浅复制#include <iostream>#include <cstdio>#include "memory.h"struct type_false{ bool get(){ return false; }};struct type_ture{ bool get(){ ...
2019-03-05 09:41:49
208
转载 STL源码分析--萃取编程(traits)技术的实现
1.为什么要出现?按照默认认定,一个模板给出了一个单一的定义,可以用于用户可以想到的任何模板参数!但是对于写模板的人而言,这种方式并不灵活,特别是遇到模板参数为指针时,若想实现与类型的参量不一样的实例化,就变得不太可能了!也有时,想禁止此种相同的实例化变得不太可能!故而出现了,Partial Specialization!同时,在使用void*指针时,可以最大限度的共享代码,减少代码的膨胀...
2019-03-04 16:43:02
349
原创 C++通用性的Class转化为json。使用boost,tuple完成反射,使用jsoncpp,cmake。
前面写了一个Class转json的文章,太特殊了,维护和其他都很难。。。现在这个我想了几天,终于写了一个较通用的版本的。先上结果直接上代码README.mdCreated by Haosir on 2019/3/1.必须的库:boost和jsoncpp库,安装在usr/local/include下,/usr/local/lib64/libjsoncpp.a...
2019-03-01 14:36:19
1599
原创 C++使用jsoncpp使class、struct转json
写在前面:使用mingw编译jsoncpp,使用前,用CMakeList.txt链接上,如果使用vs2017,改链接库就是了。先上结果上代码CMakeList.txtcmake_minimum_required(VERSION 3.13)project(Class_to_json)set(INC_DIR JSONCPP/include)set(LINK_DIR ...
2019-02-27 20:25:23
3097
转载 《C++编程规范:101条规则、准则与最佳实践》学习笔记
转载:http://dsqiu.iteye.com/blog/1688217组织和策略问题0. 不要为小事斤斤计较。(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施一致的编码格式。只要规定需要规定的事情:不要强制施加个人的喜好或者过时的做法。C++不应该使用匈牙利命名法。在有智能指针的情况下,单入口单出口可能不是必须的。代码要有自注释性。 1. ...
2019-02-26 20:26:41
247
原创 杂记:记一次失败的从protobuf取内部数据。
开始:大佬觉得protobuf反序列化后太占内存,让我想一个办法,在反序列化的时候,想一个办法直接把数据取出来,并且速度要比直接使用等于快,看一看有没有映射或者和memcpy差不多的办法。过程:首先test了直接用API把数据取出来,然后把原对象delete掉。发现,在运行1亿次反序列化的情况下,每一个等于会多增加1秒多。首先开始追踪API如何取数据的。内部的私有变量,下图...
2019-02-26 19:58:16
1150
原创 在linux平台下,使用glog,protobuf,在利用kafka消息队列,实现sender和receiver,并时实写入日志
下面四个库,第一个是google的开源日志库,文件中doc目录下有具体的用法。第二个是一个是序列化和反序列化的一个库,多语言。第三个是一个分布式的消息队列。第四个是kafka的C++库,本身kafka没有C++接口的这是一个第三方库。glog下载链接https://github.com/google/glog/archive/master.zipprotobufhttps://co...
2019-02-20 19:00:03
593
翻译 google的gflags官方文档(中文版)2018
如何使用gflags(以前的Google Commandline标志)(截至 2018年11月12日星期一) 目录介绍下载和安装使用CMake声明对gflags的依赖使用Bazel声明对gflags的依赖定义:在程序中定义标志访问标志声明:在不同文件中使用标志...
2019-01-29 15:13:32
1205
原创 动态规划一些例子
1、过河,一群人过河,每个人有不同的过河速度,每次只能两个人通过,但需要一个人回来撑船,求最短时间。例:输入:5人速度为:1,2,3,4,5输出:19#include "pch.h"#include <iostream>#include <functional>template<typename T>std::function<...
2019-01-25 15:15:12
387
原创 KMP算法_lamuda表达式
#include <iostream>#include <functional>#include <string.h>std::function< int(char *, char *) > find = [](char *str, char *p) { int * next = new int[strlen(p)], len = strl...
2019-01-23 18:28:29
278
原创 Cmake学习笔记
环境:centos7cmake version 2.8.12.2常用命令:cmake_minimum_directoy(VIERSION 2.8) #注:version只能大写project(YOUR_PROJECT_NAME) #这个顺序一定要靠前,不然后面会有报错aux_source_directory(. SRC)#把当前目录的文件的名字存入SRC这个变量add_...
2019-01-23 14:35:05
330
原创 C++使用lamuda表达式和template模板实现堆排序框架和linux下g++调试
#include <iostream>#include <algorithm>#include <functional>#include <string>template<typename T>std::function<void(T *, int, int)> func = [](T *list, int be...
2019-01-22 10:39:26
575
原创 选择排序、插入排序、归并排序、希尔排序、快排排序合集,并附带测试
归并排序和快速排序,在小数组的时候,使用插入排序,在10个左右的数据时候,插入排序表现更好,也防止多次递归。快速排序使用了乱序函数。注明:没有使用模板函数,可以自行添加,这个只是传递排序思想。#include <iostream>#include <random>#include <random>#include <cstdlib&g...
2018-12-19 19:11:29
241
原创 使用C++11新特性实现线程池_对其中用到的部分特性详解
先上总的代码,等会一一详解环境VS2017Thread_Pool.h#pragma once#ifndef Thread_Poolh#define Thread_Poolh#include <vector>#include <future>#include <mutex>#include <condition_variable&...
2018-12-18 23:31:01
519
原创 蓝桥杯_PREV-54_合根植物
问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。 如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n...
2018-12-13 17:51:05
153
原创 蓝桥杯PREV-55小计算器C++实现
问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余 3. 进制转换指令:'CHANGE K',将当前进制转换为K进制(2≤K≤36) 4. 输出指令:'EQUAL',以当...
2018-11-15 15:56:02
1083
3
原创 OpenCV中Mat的二进制文件写入及读出,含神经网络训练资源,可在我的资源这里下
// opencv_bp_test.cpp: 定义控制台应用程序的入口点。//vs2017//资源链接//https://download.youkuaiyun.com/download/hao_san_520/10754444#include "stdafx.h"#include <fstream>#include <iostream>#include <s...
2018-10-30 22:39:06
2126
原创 人脸识别68特征点的提取,使用python+dlib
#版本python3#建议使用anconda + pycharm 进行前期配置环境,比较简单#安装教程请自行百度很简单import numpy as npimport cv2import dlibimport osdetector = dlib.get_frontal_face_detector()#创建一个容器predictor = dlib.shape_predictor...
2018-08-26 16:09:45
5221
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人