Error de Valgrind: en uso a la salida: 72.704 bytes Lista de inicialización de C ++ rareza con char *

Problema:

Tengo un problema extraño que no esperaba. Tengo una clase llamada Respuestas y dentro del encabezado es esta:

class Answer
{
    char* aText;
    bool b_correct;
public:
    Answer():aText(0){;}  //default constructor
}

El código del controlador principal (prueba) es este:

int main(void) 
{

    static const unsigned int MAX_ANSWERS = 5;
    Answer answers[MAX_ANSWERS];
}

La rareza (inesperada) que obtengo es que está sucediendo una asignación, y aún no he usado una nueva en mi código. Supongo que el char * está llamando a esto en la lista de inicialización.

Estoy usando valgrind para probar mi código, y obtengo 11 asignaciones y 10 liberaciones. Cuando elimino el inicializador de:aText(0), el aloc extra desaparece.

Entiendo que este es un código mal construido. Estoy siguiendo un resumen del curso para aprender a escribir en C ++. ¿Alguien puede ayudarme a comprender cómo se asigna la memoria o qué sucede durante la lista de inicialización para provocar una llamada a nuevo?

Sé que el error proviene del código que se muestra. Sé que la asignación extra está sucediendo cuando compilo y ejecuto solo este código.

Salida de Valgrind:

==12598== Memcheck, a memory error detector
==12598== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==12598== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==12598== Command: ./Answers
==12598== 
==12598== 
==12598== HEAP SUMMARY:
==12598==     in use at exit: 72,704 bytes in 1 blocks
==12598==   total heap usage: 1 allocs, 0 frees, 72,704 bytes allocated
==12598== 
==12598== LEAK SUMMARY:
==12598==    definitely lost: 0 bytes in 0 blocks
==12598==    indirectly lost: 0 bytes in 0 blocks
==12598==      possibly lost: 0 bytes in 0 blocks
==12598==    still reachable: 72,704 bytes in 1 blocks
==12598==         suppressed: 0 bytes in 0 blocks
==12598== Rerun with --leak-check=full to see details of leaked memory
==12598== 
==12598== For counts of detected and suppressed errors, rerun with: -v
==12598== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Información de la plataforma:

Fedora 22

gcc.x86_64 5.1.1-4.fc22

valgrind.x86_64 1: 3.10.1-13.fc22

codeblocks.x86_64 13.12-14.fc22

Respuestas a la pregunta(1)

Su respuesta a la pregunta