我们可以使用智能指针来代替new/delete操作,这样就可以避免手动管理内存。下面是一个示例代码:
#include
#include
template
class MyTemplate {
public:
MyTemplate(T value) : m_value(value) {}
void printValue() {
std::cout << "Value: " << m_value << std::endl;
}
private:
T m_value;
};
int main() {
std::shared_ptr> myObject = std::make_shared>(10);
myObject->printValue();
return 0;
}
在这个示例中,我们使用std::shared_ptr
来创建MyTemplate
类型的对象,而不是使用new
关键字。std::shared_ptr
是一个智能指针,它会自动管理内存,当没有引用指向对象时会自动释放内存。
通过使用智能指针,我们可以避免手动调用delete
来释放内存,从而减少了内存泄漏的风险。