Why is wp5
not pointing to an Integer
whose value is 50
?
#include <memory>
#include <iostream>
#include "DoubleLinkedList.h"
class Integer {
private:
int number;
public:
Integer(int number) : number(number) {}
int get() { return number; }
};
int main() {
Integer i1(10);
Integer i2(20);
i1 = i2;
std::cout << "i1 = " << i1.get() << std::endl;
Integer* i3 = new Integer(30);
std::shared_ptr<Integer> sp3 = std::make_shared<Integer>(i1);
std::shared_ptr<Integer> sp4 = std::shared_ptr<Integer>(new Integer(40));
std::weak_ptr<Integer> wp5 = std::shared_ptr<Integer>(new Integer(50));
std::weak_ptr<Integer> wp6 = sp4;
return 0;
}
Is there a way to create a shared_pointer<Integer>
or a weak_pointer<Integer>
that use *i3
as a basic pointer to the Integer(30)
?