04 2019 档案
摘要:首先呢,评论有分为根评论和子评论,所谓的根评论呢,就是对当前文章进行评论,子评论呢,就是对别人的评论进行再次评论,怎么区别是根评论还是子评论呢,pid来判断 表结构设计: 根节点评论: pid为空的时候 前端代码实现:(全部评论) 评论框: js代码如下:(评论) 如果是pid为空的时候,说明是根节
阅读全文
摘要:常对象: const Person p1; 不可以调用普通成员函数,除非前面加了函数前面加了const可以调用常函数在对象之前加入const修饰 const Person p1; 常函数:void func() const{} void func() const {} 修饰的是this指针 cons
阅读全文
摘要:成员变量和成员属性: 静态成员函数和静态成员变量是不属于对象的,所以不占有空间,非静态成员是属于对象的,占有存储空间,空类大小1 静态成员变量和静态成员函数是不属于对象的,非静态成员变量才属于对象上面 成员变量和成员属性是分开存储的 this指针: this指针是隐含在对象成员函数内的一种指针,当一
阅读全文
摘要:单例对象:为了让类只有一个实例,实例不需要自己释放掉 不管创建多少个实例对象进行访问,访问的都是同一个值 如果要让某一个属性不可以更改的话,可以设置为私有的权限,private可以提供一个公有权限,查看该属性的值string getval(){return xxx},提供查看的api接口,但是只能访
阅读全文
摘要:静态成员变量:可以共享数据,类内声明,类外初始化(实现) 可以看到p2,p1指向的age的结果是相同的,因为第二次通过p2来访问属性的时候,这个name值已经共享了,所以两者是相同的,所有对象共享数据 总结:类内声明,类外实现(注意是类外),共享数据,分权限,public是可以访问的,private
阅读全文
摘要:explicit关键字:防止构造函数隐式类型转换 运算符:new(重要):分配内存空间,delete释放内存空间 函数:malloc new的运算符里,当用new创建对象的时候,它在堆区为对象分配内存并调用构造函数完成初始化,delete释放空间 栈区开辟:Person p1 堆区开辟:Person
阅读全文
摘要:构造函数的调用规则: 系统会提供三个函数,一个是默认的构造函数(无参,函数体为空),一个是拷贝构造函数(无参,函数体为空),一个是析构函数,对类中非静态成员属性简单值拷贝\如果用户定义了拷贝构造函数,C++不会再提供任何默认拷贝函数当我们提供了有参的构造函数之后,系统就不会给默认提供构造函数了 初始
阅读全文
摘要:拷贝构造函数的调用时机: 第一种:使用已经创建好的对象来初始化新的对象 第二种方式:值传递的方式拷贝 第三种方式:以值方式返回局部对象 release模式下会做优化,debug模式下没有做优化 release模式下结果:第三种方式的
阅读全文
摘要:struct和class的访问权限:结构体,类 struct和class 是相同的,唯一的而不同,就是默认权限,struct是public,class默认是private protected:保护权限,类内部(不包括继承的子类)是可以访问(属性和方法),类外部是不可以访问的 public公有权限:类
阅读全文
摘要:默认参数: //默认参数//函数的默认参数,参数后面有'='//函数参数注意事项,如有一个位置有了默认参数//那么从该位置的后面就必须要有参数 void func(int a, int b = 10, int c = 4) { //b有默认参数,b的后面也应该要有默认参数,只要有一个位置有,那么之后
阅读全文
摘要:常量引用:形参不能修改,节省开辟内存空间的开销 用一级指针代替二级指针常量引用,使用场景,修饰形参为只读const int a=10会分配内存如果使用引用,在前面加了一个const的话,那么就不可以修改形参 const int v = 43;//真正的一个常量,可以初始化数组,在C中不可以这样,C+
阅读全文
摘要:引用:& &放在左边就是引用,放在右边就是取地址 给数组起别名: 第二种方式起别名,typedef //尽量使用const替代define//define宏常量没有类型概念//define宏没有作用域概念 参数的传递方式: 值传递: 指针传递: 运行结果: 引用传递: 如果函数的返回值是引用的话,那
阅读全文
摘要:c++是c语言的增强版,但是和c语言之间有何区别呢? c和c++的区别: 1.全局变量检测增强int a;int a=10; 2.函数检测增强,参数类型增强,返回值检测增强,函数调用参数检测增强(参数检测个数)c中传入的参数与接收的参数可以不同,只是警告,c中你传多少个参数,只有几个接收参数都可以,
阅读全文
摘要:双冒号(::)的作用:作用域运算符,全局作用域 namespace命名空间:用途解决名称冲突问题必须在全局作用域下声明命名空间可以放入函数,变量,结构体,类命名空间可以嵌套命名空间命名空间是开放的,可以随时加入新的成员匿名命名空间 1.嵌套命名空间 2.匿名命名空间: 如果写了没有命名的命名空间,相
阅读全文
摘要:首先呢,下载一个visual studio 2017的编辑器工具,可能有最新的2019年的版本,根据自己喜欢选择哪个版本就好了 visual studio IDE下载地址:https://visualstudio.microsoft.com/zh-hans/ 有社区版,企业版,专业版,一般来说个人的
阅读全文
摘要:c++中的++来自c语言中的递增运算符,该运算符将变量加1,c++起初也叫c with class ,通过通过名称表面,C++是对c的扩展,因此C++是c语言的超集,这以为这任何有效的c程序都是有效的c程序,C++程序可以使用已有的c程序库 C++语言在c语言的基础上添加了面向对象编程和泛型编程的支
阅读全文
摘要:属性:默认是internal的类型,外部是不可以访问调用的,如果加上public的话,那么是会自动为这个属性加上一个get的方法的,比如uint public _age; => function _age() {} 自动生成 方法:默认是public的类型,外部是可以直接访问调用的 public:,
阅读全文
摘要:构造函数:当方法名字和合约名字相同的时候,这个就是构造函数,构造函数在合约对象创建之后执行的 析构函数:selfdestruct Solidity在线编辑工具:https://remix.ethereum.org/ 从这里可以看到这个合约的详细信息: 合约地址:当合约内容相同的饿时候,那么这个合约地
阅读全文
摘要:memory:使用的是值传递,默认使用的是memory,传递的是值 storage:引用传递,传过来的是指针,后面一定要加上internal,private memory就是值传递,如果形参是memory的时候,它是传递,不会修改原来的值,默认使用的是memory 如果是storage类型的话,函数
阅读全文
摘要:区块链(英语:blockchain或block chain)是借由密码学串接并保护内容的串连交易记录(又称区块)。每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用默克尔树算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链所串接的分布式账本能让两方有效纪录
阅读全文
摘要:IPNS节点ID访问网站: 当我们修改网站内容重新添加到ipfs时,hash会发生变化,当我们网站更新时,我们可以将网站发布到IPNS,在IPNS中,允许我们节点的域名空间中引用一个IPFS hash,也就是说我们可以通过节点ID对项目根目录的IPFS HASH进行绑定,以后我们访问网站时直接通过节
阅读全文
摘要:1.在外网中查看之前所创建的文件内容(不同内容哈希值不同,目录哈希,文件哈希) 2.在终端查看文件下面对应哈希的值,ipfs cat /ipfs/哈希值 4.ipfs创建文件目录 5.将a.txt文件复制到li目录下面,文本命名为a.txt,ipfs files copy /ipfs/哈希值 /目录
阅读全文
摘要:上传下载步骤: 启动ipfs节点服务器: 页面效果显示如下: 当在一个终端启动ipfs节点服务器之后之后,上传下载步骤: 1.创建文件demo4,新建一个文件a.txt,文本内容为hello mkdir demo4 cd demo4 2.在另一个终端打开 3.上传a.txt文件,ipfs add 文
阅读全文
摘要:函数访问权限:public,external,private,internal //子类可以得到父类下面的方法,父类用了public,external的话 //internal,private是只鞥是自己的内部使用,子合约是不能继承他的//exteral,public子合约是可以继承的 consta
阅读全文
摘要:注意:本教程需要Truffle4.0或者是更高的版本 以太坊的智能合约只是代码,和我们的纸质代码不同,此合同需要非常精确的方式理解 如果合同编码不正确,我们的交易可能会失败,会导致gas的损失,更不用说浪费时间和精力 Truffle(从版本4开始)有一个内置的调试器,用于单步执行代码,所以当有错误出
阅读全文
摘要:以太坊的常用钱包:Ethereum Wallet: 比较笨重的钱包,但是比较安全,同步的时间比较长时间开启Ethereum智能合约开发(Smart Contract)最快的方式就是Ethereum Wallet,它支持windows,macox,和linux开发智能合约DAPP(去中心化APP),可
阅读全文
摘要:IPFS是一个分布式的P2P的协议,可能会取代这个http,全球的点都可能存储这个数据 IPFS搭建环境 1.首先是下载节点软件到官网下载windows版本的ipfs节点软件,如果不能访问官网的话,可以使用百度云镜像32位:https://pan.baidu.com/s/1XivzokWIMIy9M
阅读全文
摘要:部署:Mist上面部署,选择相对应的合约contract(一个钱包地址代表一个账号)
阅读全文
摘要:address的四个方法send,call,callcode,delegatecall 例子:发送以太币的send方法//下面是send方法,涉及到以太币的情况可能用到payable,senddemo方法是可以发送以太币过去的,add.transfer(u) call方法,注意地址.call,和地址
阅读全文
摘要:方法和匿名方法: funcion name(<parameter types>){public|private|internal|external}[constant][payable][<return types>)]{} payable代表是可以接受以太币的方法有如下几种:external可以被
阅读全文
摘要:首先进入到这个Mychains目录中,执行初始化命令 cd Mychainsgeth --datadir data0 init genesis.json上面命令的主体是geth init ,表示初始化区块链,命令可以带有选项和参数,其中--datadir选项后面跟着一个目录名,这里面为data0,表
阅读全文
摘要:比特币系统为什么要挖矿?先让你干体力活,当你越卖力的时候,就可以获得奖励增加恶意行为的成本争夺记账权利,获取奖励 传统的挖矿:体力劳动比特币挖矿:脑力劳动,把挖掘变成计算,矿工使用电脑不停的计算每开采210000个区块,挖矿奖励减半2009年1月—-2012年11月,奖励50BTC2012年11月-
阅读全文
摘要:智能合约:简单的讲就是一个电子合同部署在去中心化的系统上面 一份电子形式合同或者协议:以一种计算机程序的形式展示,例如APP通过计算机自动执行和验证,无需认为敢于,例如柜台区块,vs ATM取款通过淘宝下单付款商家发货,确认收货之后系统自动转钱给商家 法律层面上是否曾任有待商榷二手房过户,能否绕过住
阅读全文
摘要:密码学初探:哈希,数字签名 对称加密:用相同的密钥对原文进行加密和解密加密过程:密钥+原文-密文解密过程:密文-密钥=原文缺点:无法保证密钥被安全传递 非对称加密:公钥用于加密:私钥用于解密公钥由私钥生成,私钥可以推导私钥优点:解决了密码传输中的安全问题解决来了传输中的安全问题解决了信息传送的问题,
阅读全文
摘要:比特币起源: 区块链:一个分布式的账本系统 比特币的起源:中本聪,神一样存在的人物 bitcoin:去中心化。p2p分布式的数字货币系统,没有任何一个人决定要去做什么共识机制-pow工作量证明运用非对称加密区块链作为账本 区块链相当于是承载了许多的区块,而这些区块是记录了交易记录coinbase,没
阅读全文