вторник, 12 июля 2022 г.

[prog.c++] Встретил проект на C++98 в котором непонятно чем могут помочь более свежие стандарты C++

Заглянул сегодня в один C++ный проект, в который есть шанс вляпаться или поучаствовать (пока не знаю, положительную или отрицательную конотацию применять). Проект на C++98. Ага, в 2022-ом году.

Но самое интересное написан он так, что глядя на исходный код я практически не представляю, что бы в коде можно было бы улучшить за счет возможностей из новых стандартов.

Разве что enum class вместо обычных enum-ов. А то в применяющихся enum-ах настолько корявые префиксы для избежания совпадения имен, что просто атас.

Ну и, может быть, где-то можно было бы move semantic применить дабы управление временем жизни для каких-то объектов стало бы более очевидным.

Еще, наверное, override для обозначения переопределенных в производных классах виртуальных методов.

Вот, пожалуй, и все. Даже удивительно.

Проект написан на, по сути, "Си с классами". Хотя исключения применяются. Местами даже простенькие шаблоны.

Давненько ни с чем подобным не сталкивался.

PS. На закуску одна строчка из этого проекта. Просто для развлечения ;)

COperator *pop = (*((*((*pexpr)[1]))[0]))[0]->Pop();

Комментариев нет: