Что называется краешьком глаза решил глянуть...
Если я еще не забыл C++, то для new T[] должен применяться delete[], а не просто delete.
Цинк, если что.
Где-то там же увидел и еще один фрагмент, от которого глаз дернулся:
Размышления и впечатления, которые не хочется держать в себе. О программировании в частности. Ну и о творчестве, и о жизни вообще.
Что называется краешьком глаза решил глянуть...
Если я еще не забыл C++, то для new T[] должен применяться delete[], а не просто delete.
Цинк, если что.
Где-то там же увидел и еще один фрагмент, от которого глаз дернулся:
Заглянул сегодня в один C++ный проект, в который есть шанс вляпаться или поучаствовать (пока не знаю, положительную или отрицательную конотацию применять). Проект на C++98. Ага, в 2022-ом году.
Но самое интересное написан он так, что глядя на исходный код я практически не представляю, что бы в коде можно было бы улучшить за счет возможностей из новых стандартов.
Разве что enum class вместо обычных enum-ов. А то в применяющихся enum-ах настолько корявые префиксы для избежания совпадения имен, что просто атас.
Ну и, может быть, где-то можно было бы move semantic применить дабы управление временем жизни для каких-то объектов стало бы более очевидным.
Еще, наверное, override для обозначения переопределенных в производных классах виртуальных методов.
Вот, пожалуй, и все. Даже удивительно.
Проект написан на, по сути, "Си с классами". Хотя исключения применяются. Местами даже простенькие шаблоны.
Давненько ни с чем подобным не сталкивался.
PS. На закуску одна строчка из этого проекта. Просто для развлечения ;)
COperator *pop = (*((*((*pexpr)[1]))[0]))[0]->Pop();
Намедни вышла очередная версия замечательной библиотеки fmtlib. Одно из нововведений версии 9.0, а именно отказ от поддержки типов для которых определен оператор сдвига в std::ostream, сильно меня расстроило. И заставило потратить около четырех часов на выходных на то, чтобы адаптировать под fmtlib-9.0 наши OpenSource проекты arataga и RESTinio.
Тратить время на то, чтобы исправить сломанный другими людьми код мне не понравилось. Поэтому выскажу несколько своих незлых тихих слов.
Итак, что случилось в fmtlib-9.0.0?
В предыдущих версиях fmtlib можно было легко использовать типы, для которых определен оператор сдвига в std::ostream. Например: