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