Я знаю, что могу сделать new char [n]
, чтобы создать массив из n
симв. Это работает, даже если n
не является постоянной времени компиляции.
Но, допустим, мне нужна переменная размера, за которой следует n символов:
Моя первая попытка это следующая:
struct Test
{
std::size_t size;
char a[];
};
Однако, похоже, новый тест [n]
не делает то, что Я ожидаю, и вместо этого выделяет n
размер
s.
Я также обнаружил, что sizeof (std :: string)
равно 4 в ideone, поэтому кажется, что он может выделить как размер, так и массив символов в одном блоке.
Есть ли способ достичь того, что я описал (предположительно, что уже делает std :: string
)?