It is the member-initialization-list. It permits to pass the correct parameters and chose the good constructor for the members of the class and the constructor of the base classes.
The standard says:
12.6.2 Initializing bases and members [class.base.init]
In the definition of a constructor for a class, initializers for direct and virtual base subobjects and non-static data members can be specified by a ctor-initializer, which has the form
ctor-initializer:
: mem-initializer-list
Any members or base class not specified in the member-initialization-list will use its default constructor.
In you case, you are passing nh_
to the constructor of image_transport::ImageTransport
to initialize it_
.