- 博客(14)
- 资源 (4)
- 收藏
- 关注
原创 c++拷贝构造函数和赋值运算
1.拷贝与赋值区别赋值操作是将一个对象的值赋予另一个已经存在的对象,而拷贝构造函数则是利用一个已经存在的对象来创建一个新对象。class A { int i;public: A() {} //显示定义了拷贝构造函数,所以编译器不会生成默认构造函数 A(const A& a) { cout << "copy A"; } A& operator=(A&a...
2019-10-06 21:11:17
279
原创 C++程序的内存布局
一个C/C++源程序经过编译之后,其应用程序使用的内存可划分为一下几个部分:1)代码区代码区存放函数体的二进制代码。可执行文件加载之后,就存放在进程的代码区。这部分分区域是只读的,如果试图修改,将导致运行时错误。一般来说,程序的代码区存放的是程序的可执行代码,在某些特殊情况下,一些重要的数据也可以放入代码区,以防止错误修改。2)栈区程序中用来存放函数的参数值、局部变量、临时变量。由...
2019-10-04 20:00:22
278
原创 sizeof运算符
1. sizeof是C/C++语言当中的一种基本运算,用来求一个数据类型或变量在内存中占据空间的大小。2. sizeof可以接受的参数:数据类型、变量、表达式、常量。int i = 1;//三个值相等sizeof(1);sizeof(int);sizeof(i);3. sizeof是一种在编译时进行的运算,与运行时无关。即,在可执行代码中不包含sizeof运算。int...
2019-10-03 17:53:39
3002
原创 c++之const
1.const位置//等价,即v的值初始化之后就不能改变const int v;int const v;//前者const修饰int*,表示指针P本身的值是不能改变的(指针常量)//后者const修饰int,表示指针指向一个整形常量,P可以修改所指向的对象int *const p;int const *p;//P1不是指针常量,指向整形常量//P2不是指针常量,指向指针常...
2019-10-03 16:38:18
708
原创 常量和常变量
1. 常量和指令一起存储在代码区,不能被寻址2. 常变量常变量的值在初始化后不能改变,这个特性是在高级语言这一层上定义的。由编译器所做的语法检查进行保障,可以通过特殊的途径对它进行修改。#include"pch.h"#include<iostream>using namespace std;int main() { const int i = 5; int*...
2019-09-30 15:27:15
3297
原创 异步回调
场景描述:云端、网关、网关子设备子设备使用zigbee等不同的通讯协议,网关需要进行协议转换之后与云端进行通讯。Zigbee通信SDK 对底层的 ZigBee 通信进行了完整的封装,让 ZigBee 通信对网关系统完全透明。例:云端想要获取网关子设备的状态,云端下发命令到网关,网关触发zigbee通讯SDK的命令下发函数,触发完后网关主线程不会阻塞等待它返回子设备状态,而是传入...
2019-07-11 22:10:42
158
原创 返回值为函数指针的函数
函数指针:指向函数的指针例如:void *p(int,int); //p是一个指针,可以指向一个返回值为void类型,参数为两个int类型的函数。 int *(*q)(char); //q是一个指针,指向一个返回值类型为int指针类型,参数为char类型的函数。图中为返回值为函数指针的函数首先它是一个函数:函数名为signal,参数类型是int类...
2019-05-08 22:49:09
5982
原创 strlen()使用注意
c++ strlen()的时间复杂度o(n),所以不要 for(int i ; i<strlen(str) ; i++) 或 while(i<strlen(str)) 这样用,一定要先把strlen(str)提出来
2019-05-04 20:01:55
7926
翻译 Blcokchain Meets IoTL:An Architecture for Scalable Access Management in IoT
来源:IEEE INTERNET OF THINGS JOURNAL.VOL. 5,NO.2,APRIL 2018作者:Oscar Novo区块链在本文方案中的作用:存储和分发访问控制信息。除物联网设备和管理中心节点外,所有实体都将成为区块链技术的一部分。1、论文背景物联网(IoT)正在逐步走向成熟物联网(IoT)已经成为一种在许多垂直市场上具有很大影响力的技术。 预计到2022年...
2018-07-29 16:34:16
1007
原创 IPSec简介
1 IPSec协议简介针对Internet安全需求,IETF(因特网工程任务组)于1998年11月颁发了IP层安全协议IPSec。它不是一个单独的协议,而是一组协议。IPsec是ip安全协议标准,是在IP层为ip业务提供保护的安全协议标准,其基本目的就是把安全机制引入IP协议。IPSec在IPv6中必需支持,在IPv4中则是可选的。2 体系结构2.1 SA(安全关联)1)SA简介SA是IPSec提...
2018-06-25 17:05:32
15744
原创 Truffle创建、编译、部署智能合约
创建工程目录mkdir truffle_projectcd truffle_projecttruffle init创建工程目录并初始化后,文件夹目录结构如下:▾ truffle-project/ ▾ contracts/ 存放智能合约 Migrations.sol 示例solidity库文件 ▾ migrations/ 用来存放部署/迁移智能合约的脚本文件...
2018-06-20 11:43:34
1768
原创 Truffle 开发测试环境的搭建
1 Truffle简介 Truffle是一套基于以太坊的Solidity语言的开发框架。本身是基于JavaScript。它对客户端做了深度集成,使开发、测试、部署都只需要一个命令行;可以在控制台使用命令行直接调用输出结果,方便调试。Truffle是本地编译、部署智能合约的框架;geth是真正的以太坊环境;testrpc是本地使用内存模拟的以太坊环境,关闭终端后,部署到testrpc的智...
2018-06-19 17:00:39
741
原创 键盘钩子入门
1 钩子 钩子是操作系统消息处理的一种机制。通过钩子,应用程序可以安装一个钩子回调过程让系统调用,从而监视系统中的消息队列。在这些消息到达目标窗口之前对这些消息进行处理。1.1 钩子函数1)钩子函数会降低操作系统的性能,因为它增加系统处理每一个消息的开销。所以用户除非必须才要安装钩子,而且还要尽可能早地去除钩子。2)操作系统支持多种类型的钩子,每种类型都提供了它特有的消息处理机制。3)对...
2018-05-12 21:14:56
11935
原创 linux 安装 nodejs
1、nodejs概念Node.js是一个Javascript运行环境(runtime environment)。脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。每一种解析器都是一个运行环境,不但允许js定义各种数据结构,进行各种计算,还允许js使用允...
2018-04-30 15:58:46
142
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人