Когда я могу использовать точку, стрелку или двойное двоеточие для ссылки к членам класса в C ++?

Переходя от других языков, производных от C (таких как Java или C #) к C ++, сначала очень сбивает с толку то, что C ++ имеет три способа обращения к членам класса: a :: b , ab и a-> b . Когда мне использовать какой из этих операторов?

(Примечание: это должно быть запись в Часто задаваемые вопросы о C ++ по переполнению стека . Если вы хотите критиковать идею предоставления FAQ в этой форме, тогда публикация в мета, с которой все началось , будет подходящим местом для этого. Ответы на этот вопрос отслеживаются в чате C ++ , откуда и зародилась идея FAQ, так что ваш ответ, скорее всего, прочитают те, кто придумал эту идею.)

237
задан Community 23 May 2017 в 02:10
поделиться