Lets say you make a game engine, and you have several GameObjects and every GameObject have a list of components that you can add or remove.
Lets say there is a MeshComponent who has vertices, normals etc. If several GameObjects have the same MeshComponent, there will be a lot of memory waste. Of course there are many ways to implements this but I want some good advice how to solve this? How do components share data that is not going to be modified?