Судя по всему это отпечаток использования библиотеки STL.
Не совсем. Скорее, отпечаток синтаксиса C++. В C# property выглядит естественно, хотя там тоже грабли side-эффекта разбросаны щедро. Попытка сделать то же самое в C++ натыкается на необходимость танцев с бубном, поскольку встроенного механизма нет. В результате получается недостаточно очевидный, на мой взгляд, синтаксис - вроде примера с двумя методами Value(). Как по мне, лучше назвать методы более конкретными именами, раз уж их два разных.
Но тут уж кто как привык - допускаю, что если подобные подходы внедрять на уровне стиля кодирования, то в определённом кругу они будут вполне применимы.