как отключить альтернативные токены в C ++ [duplicate]

  • Прежде всего, нужно знать разницу между экземпляром класса и самим классом. Класс моделирует определенные свойства и поведение целого в контексте этих свойств. Экземпляр определит конкретные значения этих свойств.
  • Все, связанное с ключевым словом static, доступно в контексте класса, а не в контексте экземпляра класса
  • As следствием вышеперечисленных переменных внутри метода не может быть статическое статическое поле, и методы должны быть вызваны с использованием имени класса, например MyProgram7.main (...)
  • Время жизни статического поля / метода эквивалентно времени жизни вашего приложения

Например. Скажем, автомобиль имеет цвет свойства и демонстрирует поведение «движение». Экземпляром автомобиля будет Красный жук Volkswagen в движении на 25 км / ч.

Теперь статическим свойством автомобиля будет количество колес (4) на дороге, и это применимо ко всем автомобилям .

HTH

5
задан Joe Corkery 1 July 2009 в 15:15
поделиться

4 ответа

Они являются частью стандарта C ++, см., например, этот ответ StackOverflow (который цитирует соответствующие части стандарта).

Другой ответ в том же вопросе упоминает, как сделать наоборот: заставить их работать в MSVC.

Чтобы отключить их в GCC, используйте -fno-operator-names . Обратите внимание, что при этом вы фактически переходите на нестандартный диалект C ++, и существует риск того, что вы в конечном итоге нарисуете код, который может некорректно компилироваться на стандартных компиляторах (например, если вы объявляете переменная с именем, которое обычно будет зарезервировано).

17
ответ дан Community 26 August 2018 в 07:33
поделиться

-pedantic-errors может помочь в этом, среди других гнуизмов.

-3
ответ дан eduffy 26 August 2018 в 07:33
поделиться
  • 1
    -1: это не гнуизм, это часть стандартного языка. – John Bartholomew 1 November 2012 в 03:47

Слова являются стандартными в C ++ без включения какого-либо заголовка.

Слова являются стандартными в C, если вы включаете заголовок <iso646.h>.

MSVC не делает вас службы, не поддерживая стандарты.

Однако вы могли бы использовать инструменты для принудительного применения неприменения ключевых слов. И это может быть руководство по кодированию, и вы можете быстро обучить свою команду, чтобы не совершать глупых ошибок в переносимости. Это не так сложно избежать проблемы.

7
ответ дан Jonathan Leffler 26 August 2018 в 07:33
поделиться

Рассматривали ли вы какие-либо инструменты анализа кода? Что-то похожее на FxCop? С помощью FxCop вы можете написать свои собственные правила (проверьте & amp; & amp;), и вы можете настроить его на этапе предварительной компиляции.

0
ответ дан Lucas B 26 August 2018 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: