title: What is ROS sensor_msgs::Image::Ptr? Is this a smart pointer?
body: <p>I am reading some C++ ROS code and I found</p>
  <pre><code>sensor_msgs::Image::Ptr something(new sensor_msgs());
  </code></pre>
  <p>this refers to the ROS type <a href="http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/Image.html" rel="nofollow noreferrer">sensor_msgs/Image Message</a></p>
  <p>So this is a <em>Ptr</em> for the ROS type sensor_msgs/Image Message</p>
  <p>What is this ::Ptr ? I suspect it has something to do with smart pointers but I know the smart pointers weak_ptr, shared_ptr and unique_ptr. I don't know this Ptr. Is this standard C++ or something related with ROS? (I suspect not because OpenCV also has Ptr's)</p>