I'm have big trouble with auto. See, I have difficulties to understand what really happens here, what sp is (shared_ptr? I can just guess...). If a discussing about this should arise, I'll just quote my arguments from John Carmack :P