about hiberarchy of opengl

i come from zhengzhou of china.i have studied OGL for half an year.but now i have lots of questions.now i must code with six subobject but i don"t know which structure is better to "glPushMatrix()-------glPopMatrix() for every object "and"only a glPushMatrix()-------glPopMatrix() ".and more, can OGL spare many so-called arthimatic in c++(for example Translate()and Rotation())?i am much puzzled,wait your answer.thanks