Есть ли какое-либо различие между преобразованием типа и преобразованием типов?

Уверенный. Это называют, сохраните как CSV и используйте cat.

7
задан Passionate programmer 8 September 2009 в 10:42
поделиться

3 ответа

Как правило, преобразование относится к явному преобразованию, независимо от того, выполняется ли оно преобразованием в стиле 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*
13
ответ дан 6 December 2019 в 11:50
поделиться

Приведение типов означает, что вы берете строку битов и интерпретируете их по-разному. Преобразование типа означает, что вы преобразуете строку битов из конфигурации, полезной в одном контексте, в конфигурацию, полезную в другом.

Например, предположим, что я пишу

int x=65;
char c=(char) x;
char* s=(char*) x;

c, теперь будет содержать символ 'A', потому что, если я переинтерпретирую десятичное число 65 в качестве символа, я получаю букву «А». s теперь будет указателем на символьную строку, находящуюся в ячейке памяти 65. Это почти наверняка бесполезная вещь, поскольку я понятия не имею, что находится в этой ячейке памяти.

itoa(x, s, 10);

- это преобразование типа. Это должно дать мне строку «65».

То есть, при приведении типов мы все еще смотрим на то же место в памяти. Мы просто по-другому интерпретируем данные.

2
ответ дан 6 December 2019 в 11:50
поделиться

Одно из основных отличий возникает при работе со строками. Вы не можете сказать (int) «234» и получить целое число 234. Приведение типов обычно работает только с примитивными числовыми типами данных.

1
ответ дан 6 December 2019 в 11:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: