理想中,一个动态链接的shared library应该像"突然造访"一样.也就是说,当应用程序下一次执行时,会透明化地取用新的library版本.新的版本不应该对旧的应用程序产生侵略性,应用程序也不应该需要为此重新建造一次.但是,在目前的C++对象模型中,如果新版的library中的 class object布局有所变更,上述的"library无侵略性"的说法就有待商榷了.这是因为 class 的大小以及其每一个直接(或继承而来)的members的偏移量(offset)都在编译时期就应该固定(虚拟继承的members除外).这虽然带来效率,却在二进制层面影响了弹性.如果object布局改变,应用程序就必须重新编译.