Это зависит от того, какую версию C вы используете. C 99 допускает // в качестве комментария, а C 89 — нет.
Если вы хотите максимально обеспечить обратную совместимость, не используйте их. Но я думаю, что это крайний крайний случай. Я готов поспорить, что почти все используют C 99.
Редактировать: любая последняя версия GCC использует большую часть C99. Дополнительную информацию можно найти в Википедии.
Комментарии C++ не допускаются в соответствии со стандартом MISRA-C 2004. Некоторые отрасли (в частности, автомобильная) ценят код, совместимый с MISRA, и поэтому комментарии C++ не допускаются. Я считаю, что то же самое относится и к другим инструментам статической проверки кода, таким как LDRA и т. д.
Это не делает их плохими по своей сути, но это означает, что если вы работаете в определенных отраслях и хотите работать профессионально, вы будете не рекомендуется активно использовать комментарии в стиле C++.
Если вы используете комментарии C++ в C, есть вероятность, что некоторые компиляторы C не примут ваш код. Я бы посчитал это вредным.
Комментарии в стиле C++ были добавлены в C с помощью стандарта C99 (еще не получившего широкой поддержки). Хотя сам стандарт широко не поддерживается в полном объеме, некоторые его части (например, комментарии в стиле C++) к настоящему времени поддерживаются почти в каждом компиляторе. Учитывая, что они были добавлены, это означает, что в них есть потребность, поэтому легко понять, что это не будет считаться плохим стилем, особенно если вы установите для себя рекомендации о том, где что использовать.
Единственная причина не использовать их — это если вы хотите написать корректную программу, компилируемую для C89.
Одна из распространенных причин, по которой люди используют //
вместо /* */
, заключается в том, что вы можете "вложить" первое, а не второе, и поэтому вы можете закомментировать код в котором есть комментарии. Но вам все равно следует использовать #if 0
для комментирования кода на C.
"//" поддерживается в C99, но в C89 (который является наиболее поддерживаемым диалектом) не поддерживается.
В наши дни это действительно не должно вызывать беспокойства, если только вы не поддерживаете код, написанный специально для компиляции с помощью древних компиляторов и тому подобного.