В некоторых случаях не следует использовать геттеры и сеттеры в C++, потому что они могут нарушать инкапсуляцию. 14 Детали реализации класса должны быть как можно более закрытыми, чтобы пользователям не нужно было знать, как он реализован. 4
Также геттеры и сеттеры не подходят для структуроподобных объектов, в которых редко нужно что-либо скрывать. 12 В таких случаях лучше использовать публичный или прямой доступ. 12
Ещё одна причина не использовать геттеры и сеттеры — снижение производительности. 2 При возврате по значению в геттере создаётся копия, что уменьшает производительность. 2
Таким образом, решение об использовании геттеров и сеттеров должно учитывать специфику проекта и задачи разработки.