Уверенный. Это называют, сохраните как CSV и используйте cat
.
Как правило, преобразование относится к явному преобразованию, независимо от того, выполняется ли оно преобразованием в стиле C ( T (v)
или (T) v
) или приведение в стиле C ++ ( static_cast
, const_cast
, dynamic_cast
или reinterpret_cast
). Преобразование - это, как правило, более общий термин, используемый для каждого случая, когда одна переменная преобразуется в другую:
std::string s = "foo"; // Conversion from char[] to char* to std::string
int i = 4.3; // Conversion from float to int
float *f = reinterpret_cast<float*>(&i); // (illegal) conversion from int* to float*
Приведение типов означает, что вы берете строку битов и интерпретируете их по-разному. Преобразование типа означает, что вы преобразуете строку битов из конфигурации, полезной в одном контексте, в конфигурацию, полезную в другом.
Например, предположим, что я пишу
int x=65;
char c=(char) x;
char* s=(char*) x;
c, теперь будет содержать символ 'A', потому что, если я переинтерпретирую десятичное число 65 в качестве символа, я получаю букву «А». s теперь будет указателем на символьную строку, находящуюся в ячейке памяти 65. Это почти наверняка бесполезная вещь, поскольку я понятия не имею, что находится в этой ячейке памяти.
itoa(x, s, 10);
- это преобразование типа. Это должно дать мне строку «65».
То есть, при приведении типов мы все еще смотрим на то же место в памяти. Мы просто по-другому интерпретируем данные.
Одно из основных отличий возникает при работе со строками. Вы не можете сказать (int) «234» и получить целое число 234. Приведение типов обычно работает только с примитивными числовыми типами данных.