That's a tricky question. Large C++ codebases often have a lot of "legacy" that does not necessarily reflect the best practices.
A couple of years ago I wrote a text-editor to have a realistic example of what I consider a nice modern architecture using immutable data-structures. In the README there is also a link to a talk where I cover some of the design and structure:
https://github.com/arximboldi/ewig
Libraries that it uses: