Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

c++ strings

Name: Anonymous 2007-03-21 6:35 ID:QUPvos6j

I'm not sure about how allocation and cleanup works with c++ strings. Does this leak memory?


string get_filename(char * path)
{
    string file_name = path;
    int pos = file_name.find_last_of('\\');
    if (pos!=string::npos)
    {
        file_name = file_name.substr(pos+1); // what happens to the memory here?
    }
    return file_name;
}

Name: Anonymous 2007-03-22 5:17 ID:bqviS+Fx

Depends what "string" is. In this case, it has to be an object since you are calling the ".substr" function on it. If it is a class provided with your compiler, it is unlikely to leak memory; however, if it is your class, it is likely to leak memory. In any event, use smart pointers; they plug memory even for dummies.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List