Como inicializar a matriz dinâmica de caracteres com uma string literal em C ++?

Eu quero fazer o seguinte:

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

Obviamente, não funciona porque não especifiquei o tamanho de uma nova matriz. Qual é uma maneira apropriada de alcançar meu objetivo sem contar símbolos em uma string literal?

Uso destd::array também é bem vindo.

Atualização # 1: mesmo se eu colocar o tamanho da matriz, também não funcionará.

Atualização # 2: é vital ter umnão-const acesso à matriz como um simpleschar* ponteiro.

questionAnswers(3)

yourAnswerToTheQuestion