You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

模板类中类数组的初始化问题咨询

模板类中类数组的初始化问题咨询

各位好,我现在碰到一个类成员初始化的问题,特意来请教大家。我目前写了一个继承自csLogicCell的csAndGate类,里面用的是固定数量的成员类对象——mInpA和mInpB,相关代码如下:

class csAndGate : public csLogicCell { 
public:     
    csAndGate() :         
        mInpA(this),         
        mInpB(this)      
    {}      

    csLogicInp* InpA() { return &mInpA; }     
    csLogicInp* InpB() { return &mInpB; }     
    csLogicOut& OutY() { return mOutY; } 
private:     
    virtual void AnyInputChanged() override {         
        int inA = mInpA.InpValue;         
        int inB = mInpB.InpValue;
        // 后续打算根据输入值计算输出,还没写完
    }

    csLogicInp mInpA;
    csLogicInp mInpB;
    csLogicOut mOutY;
};

现在我想把这些固定的单个成员改成数组形式,甚至希望把这个类改成模板类,让输入的数量可以通过模板参数来指定。但我卡在了数组的初始化这里:每个csLogicInp对象的构造函数都需要传入this指针作为参数,普通的数组初始化方式好像没法直接给每个元素都传这个参数。

想问问大家,这种情况下该怎么正确初始化类里的成员数组?如果是模板类,指定不同数量的输入时,初始化的代码又该怎么写呢?

备注:内容来源于stack exchange,提问作者jokn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:28:19