Так он по моему доходчиво всё и объяснил. Приведение это термин у которого есть определение...
Вы тут излагаете синтаксические отличия, а я хотел, чтобы вы объяснили смысловые.
В общем, идея такая.
int - это тип, и
string - это тип. Но это типы, предназначенные для хранения разных данных: в
int - число, а в
string - строка символов. Строка символов не обязательно содержит число, например,
"Петя".
Приведением типов называется такое изменение типа, при котором смысл данных сохраняется, а меняется только тип. Например, можно привести целое число к типу "дробное", и тогда вместо значения
2 будет значение
2.0. И то и другое - одинаковое число, только в видах, предназначенных для хранения в переменных разного типа. Часто приведения типов вообще "незаметны" для программиста, например, умножение можно записать и как
2.0*3.14, и как
2*3.14 - во втором случае, сначала целое число будет преобразовано в дробное, а потом выполнится умножение двух дробных чисел.
А вот числа и строки - вещи по сути разные и каким-то умолчательным способом между собой не совместимые. Например, строка может содержать дробное число
"3.14", и непонятно, что делать, если хочется прочитать целое число. Строка может содержать список чисел, скобки, запятые, да может и вообще чисел не содержать. Поэтому, превращение строки в число - это отдельная сложная процедура, считывание (parsing). И наоборот, число можно превратить в строку разными способами: печатать или не печатать знак, сколько печатать цифр после запятой, как выровнять экспоненту. Это тоже делается отдельной процедурой (хотя не такой сложной).