multi_index功能简介

本文介绍了EOSIO中multi_index的使用,包括如何定义对象、创建表、进行增删改查操作,以及如何使用二级索引和迭代器进行数据访问。通过示例展示了如何实例化multi_index表并进行表操作,如emplace、erase、modify和find,以及如何使用不同类型的迭代器和成员访问方法。
摘要由CSDN通过智能技术生成


创建表multi_index
1.使用C++类(class)或结构体(struct)定义对象
2.在class或struct中,定义一个const成员函数:primary_key(),返回uint64_t类型的主键值
3.确定二级索引(最多支持16个),二级索引不局限于uint64_t,它支持更多类型

(一).实例化
*首先定义类对象或者结构体定义

/// @abi   table
    struct STRUCT_NAME{
        uint64_t  primary_key_name;//主键值唯一不可变
        ...
    
        uint64_t primary_key()const {return primary_key_name;}
        ...
    };

***创建表结构一定要标注@abi table,不然编译会出错,对于可执行的动作也需要标注///@abi   action
*表的创建:
    typedef eosio::multi_index<N(表名),表的对象类型> 实例化变量名

(二)表操作(增删改查)
1.增emplace
     const_iterator emplace( unit64_t payer, Lambda&& constructor )
*参数 
    payer:为新对象使用的存储付费的账户 
    constructor:lambda函数,可以让新创建的对象就地初始化
*返回值 
    返回一个新创建的对象的主键迭代器
*前置条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值