c++ - Is there any overhead to define complicated (large size) class inside another class? -
to make question clear, i'll give simplified example:
class foo { public: class bar { int garbage[1000000]; }; void playwithgarbage() { //whatever... } }
now, if generate lot of instances of foo , pass them around value or reference. there significant overhead? tested size, , it's ok: sizeof(foo)
returns 1
there no overhead objects of type foo
. foo
acts namespace in bar
contained. existence of foo::bar
objects independent of existence of foo
objects. if foo
had bar
member, however, objects of type foo
have subobjects of type bar
, therefore have increased size.
Comments
Post a Comment