gBard Ans: Example of using different kind of smart pointers in C++

 Example of using the different types of smart pointers in C++:

C++
#include <iostream>
#include <memory>

using namespace std;

class MyObject {
public:
  MyObject() {
    cout << "MyObject created" << endl;
  }

  ~MyObject() {
    cout << "MyObject deleted" << endl;
  }
};

int main() {
  // Create a unique pointer to a MyObject.
  unique_ptr<MyObject> my_object(new MyObject());

  // The MyObject object will be deleted when the unique pointer goes out of scope.

  // Create a shared pointer to a MyObject.
  shared_ptr<MyObject> my_shared_object(new MyObject());

  // There can be multiple shared pointers to the same MyObject object.
  shared_ptr<MyObject> my_other_shared_object(my_shared_object);

  // The MyObject object will be deleted when the last shared pointer to it goes out of scope.

  // Create a weak pointer to a MyObject.
  weak_ptr<MyObject> my_weak_object(my_shared_object);

  // The weak pointer does not own the MyObject object, so it can be deleted even if the weak pointer is still in scope.

  return 0;
}

This code will print the following output to the console:

Code snippet
MyObject created
MyObject deleted

The first line of output is printed when the MyObject object is created. The second line of output is printed when the MyObject object is deleted. The MyObject object is deleted when the unique pointer goes out of scope.

No comments:

Post a Comment

If you have any doubts, please let me know.

Regarding site Free Browser Tool (https://free-browser-tools.mohitkrgupta.dev) (discussion with google search AI)

Various discussions with Google Search AI regarding site  Free Browser Tool are as below: site free-browser-tools.mohitkrgupta.dev what doe...