Недавно я использовал библиотеку, которая позволяет использовать следующий тип синтаксиса:
MyClass myObject;
myObject
.setMember1("string value")
.setMember2(4.0f)
.setMember3(-1);
Очевидно, это достигается за счет того, что сеттеры возвращают MyClass & type; что-то вроде return * this. Мне нравится, как выглядит этот код, но я не очень его вижу. Когда это происходит, я обычно подозреваю, почему.
Так это плохая практика? Каковы некоторые последствия этого?