Предупреждения «Эффективный C ++» в MinGW - PullRequest
2 голосов
/ 18 ноября 2011

MinGW имеет эту опцию, которую вы можете включить, которая показывает предупреждения, предложенные Скоттом Мейерсом ' Effective C ++ . У меня нет книги, и я не могу легко получить ее копию, и при этом у меня нет времени, чтобы прочитать ее, поэтому мой вопрос: что это за «предупреждения Мейерса»?

1 Ответ

4 голосов
/ 18 ноября 2011

http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html

-Weffc++ (только C ++ и Objective-C ++)

Предупреждать о нарушении следующих руководств по стилю из книги Скотта Мейерса "Эффективный C ++":

  • Элемент 11 : определить конструктор копирования и оператор присваивания для классов с динамически выделяемой памятью.
  • Item 12 : Предпочитать инициализацию присваиванию в конструкторах.
  • Item 14 : Сделать виртуальные деструкторы в базовых классах.
  • Элемент 15 : operator= возвращает ссылку на *this.
  • Item 23 : Не пытайтесь вернуть ссылку, когда вы должны вернуть объект.

Также предупредите о нарушениях следующих руководств по стилю из книги Скотта Мейерса «Более эффективный C ++»:

  • Item 6 : Различают префиксную и постфиксную формы операторов приращения и уменьшения.
  • Элемент 7 : Никогда не перегружайте &&, || или ,.

При выборе этой опции учтите, что заголовки стандартной библиотеки не подчиняются всем этим рекомендациям; используйте grep -v, чтобы отфильтровать эти предупреждения.

...