From my reading of [the `std::shared_ptr` doc](http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/), you cannot use `=` to initialize the `shared_ptr` from an existing pointer. 

If you wish to initialize from existing pointer, the only syntax available is  

`std::shared_ptr<int> p3 (new int);`

**QUESTION**

Is it correct that you cannot use `=` to initialize a `shared_ptr` as in the following:

```
std::shared_ptr<Foo> pFoo = new Foo(bar);

```

Someone else (with more experience in C++ than me) [has stated](https://stackoverflow.com/a/42142680/4784683) that you can.