اینکه چه وقتی از pointer, reference یا انواع smart pointer استفاده بشه به خیلی چیزا بستگی داره از کامپایلر و پلتفرم گرفته تا سرعت مورد نیاز در اجرای کد.
به نظر میرسه اینجا کمی خلط مبحث شده بین مفهوم استاندار زبان و سبک(استایل) کدنویسی! مواردی که دوستان توضیح دادن بیشتر به استاندارد زبان برمی گرده ولی اگه شما دنبال کد زدن با سینتکس و رعایت یکسری best practice ها هستین بد نیست این کتابها رو ببین(هر چند خودم هم وقت نکردم اینا رو ببینم و جسته گریخته از اینور اونور یه چیزایی یاد گرفتم!):
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
++Effective C
++More Effective C
این لینک هم بد نیست برای داشتن یه دید کلی،هر چند خیلیها استانداردهای گوگل رو هم قبول ندارن یا بعضی جاهاش رو اشتباه فهمیدن مثل استفاده یا عدم استفاده از exception handling
https://code.google.com/p/google-styleguide