@trusktr With property bindings in C++ the answer is easy: the inspiration were property bindings from QML :-) They came first (around 2007, back in Qt 4.7 days).
And with QML I think the inspiration was just in the nature of this (by then) new language: QML is a declarative language so you need a mechanism to automatically update values when their components change.
And since Qt had signals and slots since early days (early '90), it was quite straightforward to implement this using existing "backend" technology.