¿Está bien llamar a una función en la lista de inicializador de constructor?

Mi instinto es que no lo es. Estoy en la siguiente situación:

class PluginLoader
{
   public:
      Builder* const p_Builder;
      Logger* const p_Logger;

      //Others
};

PluginLoader::PluginLoader(Builder* const pBuilder)
   :p_Builder(pBuilder), p_Logger(pBuilder->GetLogger())
{
   //Stuff
}

¿O debería cambiar el constructor y pasar unLogger* const de dondePluginLoader ¿esta construido?

Respuestas a la pregunta(3)

Su respuesta a la pregunta