c++ и поведение по умолчанию

15 января 2018

После довольно долгого перерыва я снова пишу на С++ (если не полный рабочий день, то половину точно). До этого последний раз такое было ещё в институте, году в 2007. Язык с тех пор сильно поменялся, ну, и писал я на нём в институте так себе, в духе «C с классами». Как выяснилось, С++ вообще очень даже неплохой язык, но чего я не могу понять, так это почему там такие странные дефолты. (Я, конечно, лукавлю; понятно, что они взялись из-за совместимости с C и другого исторического багажа).

Объединяющая мысль у этих примеров — чтобы добиться того поведения, которого я хочу в 95% случаев, надо писать больше, а это лень и забываешь. И главное, вроде, это и не даёт никакого выигрыша в производительности, даже наоборот — компилятор мог бы лучше соптимизировать, если бы знал, что тут всё константы или нет исключений. И ошибок по невнимательности было бы меньше.

В общем, загадка. Зато variadic templates есть, что мощь, конечно.