如何在SystemC中声明析构函数?
How can I declare a destructor in SystemC?
我正在SystemC中编写一个模块,其中在构造函数中我有一个变量初始化与new
:
SC_CTOR(MY_MODULE)
{
...
...
my_matrix = new unsigned char [a*b];
...
...
}
如何声明析构函数以在模拟结束时释放内存?
您需要使用c++语义。析构函数没有等价的SC_CTOR
。
SC_MODULE(MyModule)
{
SC_CTOR(MyModule)
{
my_matrix = new unsigned char [10];
}
~MyModule() {
delete my_matrix;
}
private:
unsigned char * my_matrix;
};
相关文章:
- 如果在C++中不需要构造函数或析构函数,是否有必要显式声明它?
- 为什么 "=default" 析构函数与隐式声明的析构函数不同?
- 我们什么时候应该在 C++ 中将析构函数声明为 =DELETE
- 析构函数在 lambda 捕获说明符中声明的类实例上运行两次
- 为什么在声明析构函数时必须声明 copy & move 构造函数?
- 当声明了虚拟析构函数但没有实现时会发生什么情况
- 析构函数删除在 main 中声明的动态数组
- 显式声明派生类中所需的析构函数
- 缺少析构函数声明
- 结构sqlite3的sqlite3c++正向声明导致析构函数中删除时出现无效指针错误
- 为什么简单析构函数在使用基指针声明时不删除派生对象
- C++自动生成带有用户声明析构函数的移动构造函数
- 不稳定的声明行为:Rational.h:25:错误:在"&"标记之前预期的构造函数、析构函数或类型转换
- C++ - 如果在循环中声明对象,是否在循环结束时调用其析构函数
- 如何在不中断移动和复制构造函数的情况下声明虚拟析构函数
- 声明析构函数虚拟就足够了吗?
- 需要声明析构函数为默认值
- 自动生成带有声明析构函数的默认移动构造函数
- 如果声明析构函数,为什么此代码无法编译?
- 如何在SystemC中声明析构函数?