mkulke / ftplibpp

Platform independent c++ library providing ftp client functionality.
GNU Lesser General Public License v2.1
291 stars 108 forks source link

not really an issue #4

Closed mohamed--abdel-maksoud closed 9 years ago

mohamed--abdel-maksoud commented 9 years ago

First, thanks for the excellent library. I just wonder why in the sample program you use "new" instead of instantiating the class directly, i.e.

    ftplib ftp;
    ftp.Connect(config().host.c_str());
    int loggedin = ftp.Login(config().username.c_str(), password.c_str());
    ftp.Quit();
mkulke commented 9 years ago

Thanks, your code allocates the object on the stack, which means it is cleaned up, when „ftp“ goes out of scope. This is perfectly fine in many scenarios (you should prefer it to allocation with „new" wherever possible). However when you need the object outside of the scope in which it was created, you need to use „new“ to put the object on the heap, and free the space using „delete" when it’s not needed any more.

Am 22.01.2015 um 16:43 schrieb Mohamed Abdel Maksoud notifications@github.com:

First, thanks for the excellent library. I just wonder why in the sample program you use "new" instead of instantiating the class directly, i.e.

ftplib ftp;
ftp.Connect(config().host.c_str());
int loggedin = ftp.Login(config().username.c_str(), password.c_str());
ftp.Quit();

— Reply to this email directly or view it on GitHub https://github.com/mkulke/ftplibpp/issues/4.