Если бы я рискнул предположить, я бы сказал, что это связано с тем, что люди на C ++ с большей вероятностью считают информацию о типах чем-то само по себе, потому что шаблоны позволяют программно манипулировать типами во время компиляции.Они также с гораздо меньшей вероятностью объявляют несколько переменных в одном объявлении.
Стиль T*
фокусирует информацию о типе в одном месте и выделяет ее, а также путаницу, которая может возникнуть из-за чего-то вроде T* foo, bar;
с этим синтаксисом не проблема, если вы никогда не объявляете две переменные в одном выражении.
Лично я нахожу стиль T*
очень неприятным и очень ему не нравится.*
является частью информации о типе, это правда, но то, как компилятор анализирует его, делает его фактически привязанным к имени, а не к типу.Я думаю, что способ T*
скрывает что-то важное, что происходит.
В моих наблюдениях кажется, что я редкость в сообществе C ++.Я заметил то же самое, что и у вас, о том, какой стиль является самым популярным.
Для ясности, конечно, любой стиль работает на любом языке.Но я замечаю то же, что и вы, что один стиль имеет тенденцию быть немного более распространенным в коде C, а другой - чуть более распространенным в C ++.