Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- #include <iostream>
- class Foobar {
- public:
- Foobar() {
- std::cout << "Foobar()\n";
- }
- bool contains(char c) const;
- ~Foobar() { std::cout << "~Foobar()\n"; }
- private:
- const std::string issue = "abcde";
- };
- bool Foobar::contains(char c) const
- {
- return issue.find(c) != std::string::npos;
- }
- bool leak(char c) {
- static const Foobar *issue = new Foobar();
- return issue->contains(c);
- }
- bool noLeak(char c) {
- static const Foobar issue;
- return issue.contains(c);
- }
- int main() {
- for (int i = 0; i < 500; ++i) {
- std::cout << noLeak('e');
- }
- std::cout << "\n";
- for (int i = 0; i < 500; ++i) {
- std::cout << leak('e');
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement