这会被认为是好的C++代码吗?

Ton*_*ion 1 c++ pointers list

我有一个带有原始指针的向量(不,我不能使用智能指针),我想在for循环中将项添加到列表中.我做了一个小试用项目,我想知道这在指针管理方面是否被认为是好的C++代码.

请仅考虑原始指针管理,我对我正在尝试解决的这个特定问题的智能指针不感兴趣.

一个简单的对象:

class Request
{
public:
    std::string name;

};

std::vector<Request*> requests;

for (int i = 0; i < 5; i++)
{
    std::stringstream ss;
    ss << "elemenent ";
    ss << i;

    std::string s = ss.str();

    Request* req = new Request();   
    req->name = s;

    requests.push_back(req);

}
Run Code Online (Sandbox Code Playgroud)

编辑:

所以我想解决的问题是将DOMNode*添加到此库中的向量中.
我开始觉得尝试为我的项目编写一个包含我需要的部件的包装器是一个坏主意.或者图书馆也不好?我没有使用smart_ptr正常工作,如果有人在那里,那么我想听听它.

Bjö*_*lex 5

好吧,这会泄漏内存,所以很糟糕.你能用指针容器吗?

此代码泄漏的原因是因为您使用堆在堆上创建对象new,但您从不调用delete它们.

至于你评论,如果你有一个手动管理一些资源的对象,你需要三巨头.

  • Waaaah!两个东西! (7认同)