Это - категорическая статья о "правильности константы": https://isocpp.org/wiki/faq/const-correctness.
, Короче говоря с помощью константы хорошая практика потому что...
, компилятор может оптимизировать его. Например, Вы защищены от
if( x = y ) // whoops, meant if( x == y )
В то же время, компилятор может генерировать более эффективный код, потому что это знает точно, чем состояние переменной/функции будет в любом случае. Если Вы пишете трудный код C++, это хорошо.
Вы корректны в этом, может быть трудно использовать правильность константы последовательно, но код конца более краток и более безопасен к программе с. Когда Вы делаете большую разработку C++, преимущества этого быстро проявляют.
Также проверьте этот пост о проблеме блокировки в boost :: asio, которая может повлиять на вас.
Я провожу тесты производительности asio и моего собственного impl при чтении файлов ( моя запись в блоге ) - в двух словах - asio показала хорошие результаты.