Is there a significant inherent cost of object instantiation in C++?
<p>I was recently told in a code review (by an older and wiser C++ developer) to rewrite a class I'd written turning it into a set of static methods instead.  He justified this by saying that although my object did contain a very small amount of internal state, it could be derived at runtime anyway and if I changed to static methods I'd avoid the cost of insantiating objects all over the place.</p>

<p>I have now made this change but it got me to thinking, what is the cost of instantiation in C++?  I'm aware that in managed languages, there's all the cost of garbage collecting the object which would be significant.  However, my C++ object was simply on the stack, it didn't contain any virtual methods so there would be no runtime function lookup cost.  I'd used the new C++11 delete mechanism to delete the default copy/assignment operators so there was no copying involved.  It was just a simple object with a constructor that did a small amount of work (required anyway with static methods) and a destructor which did nothing.  Can anyway tell me what these instation consts would be?  (The reviewer is a bit intimidating and I don't want to look stupid by asking him!) ;-)</p>
