辅助类的设计

今天主要设计了一下辅助类的,因为对于双缓冲,在neuron神经元和main函数中都需要使用moduli缓冲,所以我思考了很久,决定写一个辅助函数Manager,并且使用单例模式实现它,这样无论是neuron修改moduli,还是main函数修改moduli都可以实现统一的读写机制

#ifndef MANAGER_H
#define MANAGER_H

#include<vector>

class Manager
{
private:
    std::vector<int> moduli;
    // 将其构造和析构成为私有的, 禁止外部构造和析构
    Manager(){};
    ~Manager(){};

    // 将其拷贝构造和赋值构造成为私有函数, 禁止外部拷贝和赋值
    Manager(const Manager &other){};
    const Manager &operator=(const Manager &other){};

    // 唯一单例对象指针
    static Manager *manager;
public:
    // 获取单例对象
    static Manager *kernel();

    //初始化moduli
    void init_moduli(int min_delay,int max_delay);
    //该表每时间片旋转一次。所有节点更新后调用。(T+d)mod max_delay的值
    void update_moduli(int min_delay,int max_delay);

    int get_modulo(int offset);


};
//初始化静态成员变量
Manager *Manager::manager = NULL;

Manager* Manager::kernel()
{
    if (manager = NULL)
    {
        manager = new Manager();
    }
    return manager;
}

void Manager::init_moduli(int min_delay,int max_delay)
{
    

}

void Manager::update_moduli(int min_delay,int max_delay)
{

}
int Manager::get_modulo(int offset)
{
    return 0;
}
#endif

今天只是搭建了一个简单的框架,内容还没有进行填充,明天可能没有时间写代码,所以后台我会更新一下代码的逻辑。与这段代码进行调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值