Оператор -> это просто синтаксический сахар , потому что (*ptr).hello()
является типом PITA. С точки зрения инструкций, генерируемых на уровне ASM, нет никакой разницы. На самом деле, в некоторых языках (на ум приходит D) компилятор вычисляет все по типу. Если вы делаете ptr.hello()
, это просто работает, потому что компилятор знает, что ptr является указателем и не имеет свойства hello (), поэтому вы должны иметь в виду (*ptr).hello()
.