Здравствуйте, vsb, Вы писали:
vsb>И в каком языке нет неявных преобразований типов? Я таких языков не знаю ни одного.
Вроде в OCaml нет. Там нельзя даже просто так сложить int и float.
open Float;;
let x : int = 10;;
let y : float = 0.5;;
let z = of_int x +. y;;
print_float z;;
https://onecompiler.com/ocaml/42pkw7fy5
Здравствуйте, mike_rs, Вы писали:
_>а вот тут уже на первый план выходит компактность записи и удобство использования.
_>std::cout << "some data: " << a << "eeg: " << b << functionCallI() << " done";
_>запиши без перегруженного оператора <<, чисто на функциях?
std::cout.write("some data: ", a, "eeg: ", b, functionCallI(), " done");
Компактность сравнима, удобство чтения и записи, по-моему, даже чуть выше.
Исторически примеров полно — write/writeln в Паскале, write в Фортране (бесформатный вариант), print в Бейсике... или современный print в Python.
C++ поддерживает шаблонизацию функций многих аргументов, пройдёт без проблем.
Единственное существенное что отличает те исторические примеры — вставляются ли пробелы между аргументами кодом этой print(). Во всех перечисленных, AFAIR, это надо было явно отменять, если хотелось самому этим рулить.