nonlux ну да, в общем то идея понятна. Заметки касаются только мелких деталей реализации. Это приведение типов, например (char*)"sort" Чтобы приводить указатели как правило можно использовать одно или комбинацию из: static_cast, dynamic_cast, reinterpret_cast, const_cast. В данном случае (char*)"sort" эквивалентно const_cast. Почему убрать - потому что касты в стиле C обычно либо вообще не нужны, либо правильнее явно заменяются одним из вышеперечисленных. В данном случае каст не нужен и не правилен. Нужно использовать тип "const char*" в параметрах функции, а не насильно снимать константность с статической строки (такие строки в большинстве случаев размещаются в Read-Only памяти, случайная запись туда приведет к сбою).