Зачем использовать бессмысленные сеттеры/геттеры?
Когда вам потребуется добавить в сеттер валидацию, а в геттер - кэширование, то не придется менять вызовы в клиентском коде. К тому же, аксессоры можно делать виртуальными.
IDE прекрасно генерирует такой код,  равно как и он сам легко оборачивается в макрос. Многие компиляторы так же имеют языковые расширения, позволяющие реализовать properties в C++.
Значение может быть, например, приватным. И мы хотим быть уверены что там всегда именно то, что мы ожидаем, геттеры и сеттеры, как и многий сахар, просто предотвращают ошибки/невнимательность программиста