Как инициализировать динамический массив символов с помощью строкового литерала в C ++?

Я хочу сделать следующее:

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

Очевидно, что это не работает, потому что я не указал размер нового массива. Как правильно достичь своей цели, не считая символы в строковом литерале?

Использованиеstd::array также приветствуется.

Обновление № 1: даже если я укажу размер массива, он тоже не будет работать.

Обновление № 2: жизненно важно иметьнеконстантная доступ к массиву как простойchar* указатель.

Ответы на вопрос(3)

Ваш ответ на вопрос