佔空間是只有instructions佔空間,這各種function都是一樣的。instance裡當然不佔空間 所有call的位址都可以被statically resolved何須在instance裡佔空間?又不是runtime polymorphism。D&E: What you don’t use, you don’t pay for.其實你可以把member function當一般free function加上隱含this參數,static member function就像一般free function,只不過一般free function要access非public data編譯器不會給過,雖然還是可在runtime存取。
https://godbolt.org/z/xYMhqo314 用ToT clang玩一下,不開優化,三個Perimeter的code邏輯上都一樣,call site也都會把this當第一個argument傳入rdi。看你這麼愛玩this應該對這有興趣
https://youtu.be/caXxUi_lykshttps://wg21.link/p0847