我需要一些关于 C++ 内存管理和MISRA指南的说明。
我必须实现一个与 MISRA 兼容的程序,因此我必须遵守一条重要规则:不能使用“新”运算符(动态内存堆)。
在这种情况下,对于任何自定义对象,我必须使用静态分配:
例如:
我的班级Student
有一个构造函数Student(int age)
。每当我必须实例化一个学生对象时,我必须这样做:
int theAge = 18;
Student exampleOfStudent(theAge);
这将创建一个学生对象 exampleOfStudent。这样我就不必担心我不使用析构函数。这一切都正确吗?还有其他方法可以使用静态内存管理吗?我可以以相同的方式使用 std::vector 或其他数据结构吗?例如,我可以将 Student 实例(我创建为 Student exampleOfStudent(theAge))添加到 std::vector 中吗?