¿Cómo inicializar la matriz dinámica de caracteres con un literal de cadena en C ++?

Quiero hacer lo siguiente:

std::unique_ptr<char[]> buffer = new char[ /* ... */ ] { "/tmp/file-XXXXXX" };

Obviamente, no funciona porque no he especificado el tamaño de una nueva matriz. ¿Cuál es una forma adecuada de lograr mi objetivo sin contar los símbolos en un literal de cadena?

Uso destd::array También es bienvenido.

Actualización n. ° 1: incluso si pongo el tamaño de la matriz, tampoco funcionará.

Actualización n. ° 2: es vital tener unno constante acceso a la matriz como un simplechar* puntero.

Respuestas a la pregunta(3)

Su respuesta a la pregunta