非常简单实用的C++JSON库CJsonObject

1. JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) 。是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。许多编程语言都很容易找到JSON 解析器和 JSON 库。 JSON 文本格式在语法上与创建 JavaSc ... »

EOS智能合约授权限制和数据存储

EOS智能合约授权限制和数据存储 在EOS合约中,调用合约需要来自账户的授权,同时还要指定需要调用的动作。当然,有的合约并不是所有账户都可以调用的,这就需要用到授权限制。接下来我们就来看看如何限制合约的授权账户。 合约案例 为了更好的演示,写了一个下课和吃饭的智能合约小例子。这个合约有两个动作,下课 ... »

使用C++11原子量实现自旋锁

一、自旋锁 自旋锁是一种基础的同步原语,用于保障对共享数据的互斥访问。与互斥锁的相比,在获取锁失败的时候不会使得线程阻塞而是一直自旋尝试获取锁。当线程等待自旋锁的时候,CPU不能做其他事情,而是一直处于轮询忙等的状态。自旋锁主要适用于被持有时间短,线程不希望在重新调度上花过多时间的情况。实际上许多其 ... »

c++学习总结(一)------类结构学习

基类的构造函数并没有被派生类继承 析构函数和拷贝赋值操作符同样也没有 类的设计者通过把成员函数声明为 const 以表明它们不修改类对象 把一个修改类数据成员的函数声明为 const 是非法的 (518) 把类成员函数申明为const,可以防止修改类数据 参数表相同的成员函数可以重载(const、非 ... »

多线程算法总结

一、问题提出 单处理器上只能用串行算法,所谓的并行也是时间片轮转,没有真正达到并发的意义。上下文切换还会有时间消耗,是一种不得已而为之的算法。但是,多处理器时代,允许多条指令在处理器上并发执行,讨论并行算法。(多线程)多核处理器,面临分布式存储和共享存储的问题。分布式存储在访问另一个处理器存储时需要 ... »

循环队列实现及基本操作

#include<iostream>#define MAXQUEUESIZE 100using namespace std; typedef struct CircularQueue//循环队列结构{ int *base; int front; int rear;}CQ; CQ CreateCirc ... »

单链队列实现及基本操作

#include<iostream>using namespace std; typedef struct LinkQueueNode//队列节点结构 { int data; LinkQueueNode *next;}LQN,*LQNP; typedef struct LinkQueue//链队列结 ... »

C++的代理类

怎样在一个容器中包含类型不同,但是彼此有关系的对象?众所周知,C++的容器只能存放类型相同的元素,所以直接在一个容器中存储不同类型的对象本身是不可能的,只能通过以下两种方案实现: 1. 提供一个间接层,在容器中存放对象的指针而不是对象本身。 2. 通过代理类实现。 在上面我们看到有一个虚基类和三个继 ... »

谈谈volatile关键字以及常见的误解

近期看到C++标准中对volatile关键字的定义,发现和java的volatile关键字完全不一样,C++的volatile对并发编程基本没有帮助。网上也看到很多关于volatile的误解,于是决定写这篇文章详细解释一下volatile的作用到底是什么。 ... »

基于opencv3.0和下的条形码与二维码识别

其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比。 2. 利用opencv和Zbar(或者Zxing)对标准的QR二维码图片(即没有多余背景干扰,且图片没 ... »

腾讯2017年暑期实习生编程题【算法基础-字符移位】(C++,Python)

算法基础-字符移位 题目: 输入描述: 输出描述: 输入示例: 输出示例: 思路: 遍历输入字符串中每一个元素,大写放进一个字符串2,小写放另外一个字符串3,最后将这字符串2追加到字符串3,输出最后的字符串3 C++代码: Python 代码: Python输出稍微有点不同,遍历输出字符串储存的列表 ... »

五大经典算法之回溯法

一、基本概念   回溯法,又称为试探法,按 选优条件 向前不断搜索,以达到目标。但是当探索到某一步时,如果发现原先选择并不优或达不到目标,就会退回一步重新选择,这种达不到目的就退回再走的算法称为回溯法。 与穷举法的区别和联系: 相同点:它们都是基于试探的。 区别:穷举法要将一个解 ... »

[OPEN CV] 常用视频操作方法

一、视频的定义 视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。视频技术最早是为了电视系统而发 ... »

基于opencv3.0下的运动车辆识别

在opencv的初等应用上,对运动物体的识别主要有帧差或背景差两种方式。 帧差法主要的原理是当前帧与前一帧作差取绝对值; 背景差主要的原理是当前帧与背景帧作差取绝对值; 在识别运动车辆上主要需要以下9个步骤: (1)读取帧(VideoCapture,Mat) (2)ROI选定(Rect) (3)平滑 ... »

c++右值引用以及使用

前几天看了一篇文章《4行代码看看右值引用》 觉得写得不错,但是觉得右值引用的内容还有很多可以去挖掘学习,所以总结了一下,希望能对右值引用有一个更加深层次的认识 一、几个基本概念 1.1左值和右值 左值和右值的区分标准在于能否获取地址。 最早的c++中,左值的定义表示的是可以获取地址的表达式,它能出现 ... »

剑指Offer_编程题之二维数组中的查找

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二 ... »