Почему «T * name» считается способом C, а «T * name» - способом C ++?

Примечание: этот вопрос касается положения звездочки ( * ).

В большей части кода C, который я вижу (например, в Руководстве Биджа по сетевому программированию ), все объявления / определения переменных используют формат T * name , т. е. привязать * к имени переменной. Считается, что указатель принадлежит переменной, а не типу.

В большей части кода C ++, который я вижу, формат T * name , то есть он связывает * с тип переменной. Считается, что указатель принадлежит типу, а не переменной. Я сам, как программист на чистом C ++, также использую этот формат, поскольку указатель на тип явно (для меня) принадлежит типу, а не переменной. (Кстати, даже стандарт C ++ использует этот формат в примерах. :))

Есть ли (историческая) причина для этого? Изменился ли образ мышления, когда программисты начали заниматься C ++?

Было бы также неплохо, если бы программист на C (использующий первый формат) мог объяснить, почему он / она использует его, а не второй.

17
задан Xeo 23 June 2011 в 06:32
поделиться