Clean up memory in examples.

This commit is contained in:
David Baird
2013-09-27 14:14:43 -06:00
parent e92a98cae2
commit d82fb91436
3 changed files with 9 additions and 3 deletions
+2
View File
@@ -76,6 +76,8 @@ main()
// ...do more stuff...
}
...
delete ws; // alternatively, use unique_ptr<> if you have C++11
return 0;
}
```
+6 -3
View File
@@ -5,20 +5,23 @@
#include <assert.h>
#include <stdio.h>
#include <string>
#include <memory>
int main()
{
using easywsclient::WebSocket;
WebSocket::pointer ws = WebSocket::from_url("ws://localhost:8126/foo");
std::unique_ptr<WebSocket> ws(WebSocket::from_url("ws://localhost:8126/foo"));
assert(ws);
ws->send("goodbye");
ws->send("hello");
while (ws->getReadyState() != WebSocket::CLOSED) {
WebSocket::pointer wsp = &*ws; // <-- because a unique_ptr cannot be copied into a lambda
ws->poll();
ws->dispatch([ws](const std::string & message) {
ws->dispatch([wsp](const std::string & message) {
printf(">>> %s\n", message.c_str());
if (message == "world") { ws->close(); }
if (message == "world") { wsp->close(); }
});
}
// N.B. - unique_ptr will free the WebSocket instance upon return:
return 0;
}
+1
View File
@@ -23,5 +23,6 @@ int main()
ws->poll();
ws->dispatch(handle_message);
}
delete ws;
return 0;
}