我已经定义了这样的向量寄存器
val my_reg = Reg(Vec(n, Bits(32.W)))
Run Code Online (Sandbox Code Playgroud)
我使用来在for循环中访问该寄存器的元素my_reg(i)。
现在,我想将此寄存器初始化为零,所以我将变量定义更改为此
val my_reg = Reg(Vec(n, Bits(32.W)), init = UInt(0))
Run Code Online (Sandbox Code Playgroud)
但是,当我要访问该寄存器的元素时,出现以下编译错误
chisel3.core.Data does not take parameters
my_reg(i) := io.a(i)
Run Code Online (Sandbox Code Playgroud)
如何定义向量寄存器并正确地对其进行同步初始化?
我试图用C++解析输入文件.在文件的开头,给出了要读取的行数.读完每一行后,我必须创建一个包含该行数据的对象.我在一个向量中保存一个指向每个对象的指针vector<shared_ptr<MyClass>>.
我想要做的是,只要知道行数,就为所有对象分配足够的空间.但是,我想如果我将该reserve()函数用于我的向量,将分配足够的空间来保存指针而不是对象.
make_shared()在创建对象时使用它会如何改变?换句话说,我应该如何为指针和指针管理器分配足够的空间?