это понятно, не понятно остальное
void*
передо мной стоит задача изучить именно CreateThread
никак не могу понять, как будет выглядеть конструкция для, вот допустим, вывода на экран возвращаемого значения функции?
(int *)gn
(int)arg
для получения из указателя снова целого числа.&gn
и через этот же указатель возвращать значение.как теперь передать параметр?
char x[] = "ddd" или char *x = "ddd"
одинаково привычна и читабельна. А вот если вы начнете это заменять на самопальный string, то читающему сначала придется выяснить что это за тип и как с ним работать. Вот он будет удивлен, когда узнает, что это псевдоним для Сишных строк, оканчивающихся нулем.char*
.Так никогда не писали. ...
Когда появились нормальные терминалы - стали писать на ассемблере
Вы просто можете посмотреть файл, который у вас записался на диск - там не будет строки AutoBase.Name.
Вообще это относится не только к string, но и к любым сложно устроенным объектам - требуются отдельная процедура сериализации/десериализации.
В вашем случае AutoBase.Name вы должны сохранять примерно так:
Процесс чтения - аналогичный, сначала читаете размер, а затем заданное количество символов. После чтения размера можно подготовить строку - выделить память с помощью string.reserve() для последующего чтения.
Такой подход будет работать с обычным строками, каждый символ которых представлен 1 байтом. Для многобайтных строк (все варианты Unicode) этот вариант уже не пройдет, т.к. string.length() - возвращает количество символов в строке, а не количество байт, а пишете в файл вы байты, а не символы.