При предположении, что проект использовал префикс класса C в течение долгого времени, и это была бы пустая трата времени для изменения на поздней стадии, и что человек, который первоначально записал руководство по стилю, был поражен шиной, и что уже нет никаких структур в коде...
Это - довольно тривиальный вопрос, но если в руководстве стиля кода C++ говорится, что "использование C для префикса имени класса" затем должно это быть взятым для значения также использования C для префикса структуры также, или если мы используем что-то другое, как S, например.
class CFoo { };
struct CBar { };
... или...
class CFoo { };
struct Bar { };
Если в руководстве по стилю не указано иное, я бы (вероятно) использовал правило «структуры - это классы со всеми общедоступными членами», чтобы использовать C и для структур, да. Или я бы подумал: «Ха, вот лазейка, чтобы обойти это глупое начальное правило, ура», и не использовать его. Другими словами, это очень субъективно.
Простой ответ - не используйте префикс C для классов. Это венгерские обозначения самого бессмысленного толка. Наверное, пора переписать руководство по стилю. Откровенно говоря (и говоря как человек, который написал несколько вещей), большинство таких руководств - чушь и / или были написаны давно, давно и никогда не обновлялись.
Если в руководстве по стилю кода не указано иное, найдите код, который соответствует руководству по стилю, и посмотрите, что уже было сделано.
Если нет кода, который уже соответствует руководству по стилю, приходите к соглашению со всеми участниками проекта.
Если никто другой не участвует в проекте, просто решите и будьте последовательны.
Я думаю, что это руководство глупо и сбивает с толку ... Тот факт, что вам пришлось задать этот вопрос, доказывает это.
Стили кодирования предназначены для повышения удобочитаемости; очевидно, является ли идентификатор классом или нет, особенно если вы используете приличную среду IDE с всплывающими подсказками при наведении курсора мыши.
Обычно мы используем префикс C для классов и префикс T для структур, у которых нет методов (например, структуры "C").
Для меня это могло бы свести к следующему:
Вы хотите, чтобы читатели вашего кода немедленно различали два типа объявлений?
Хотя использование префикса обычно неприятно внимательно рассмотрите точку зрения сопровождающего кода. Полезно ли им думать: «Ах, нет префикса C, это структура». Использование структуры вместо класса может означать что-то особенное в вашем коде. В противном случае имеет смысл продолжать использовать префикс в интересах сопровождающего.
Если руководство по стилю не служит своей цели по обеспечению удобочитаемости, согласованности и правильности, его следует изменить до тех пор, пока оно не будет выполнено, или добавить круглый файл (мусорное ведро).
Кроме того, если люди не следуют ему, то его следует обновить, чтобы ему было легче следовать (или инструменты, исправленные, чтобы упростить кодирование в соответствии с руководящими принципами).