Какой флаг я должен использовать для обеспечения хорошего стиля C ++ 11?

Я изучаю C ++ и пытаюсь написать хороший код.
В настоящее время я использую множество флагов компилятора, таких как

-Wextra -Wall -pedantic -Werror -Wfatal-errors -Wcast-qual -Wcast-align -Wconversion -Wdouble-promotion -Wfloat-equal -Wshadow -Wpointer-arith -Weffc++ -ansi -Wstrict-aliasing

Я только что узнал, что ключевые слова new а также delete не должен больше использоваться в C ++ 11. Тем не менее, у меня нет никаких предупреждений при их использовании.

Есть ли какие-то флаги, которые можно использовать для обеспечения хорошего стиля C ++ 11?

8

Решение

Во-первых, вы должны понимать, что ваш компилятор никогда не будет полностью поддерживать хороший стиль.

Тем не менее, есть два метода, которые вы можете использовать для компилятора Помогите Вы применяете свой собственный стиль: предупреждения (которые могут быть переданы в командной строке или в прагмах) и отравленные прагмы.

Однако трудно управлять точным набором предупреждений, которые доступны в каждой версии компилятора, поэтому я сделал список предупреждений. Обратите внимание, что поддержка clang минимальна, его предупреждения обычно уступают gcc в практической, несмотря на их фантастический маркетинг; кроме того, невозможно определить, какую версию clang вы используете для устранения ошибок (макросы обнаружения функций довольно бесполезны).

Я также сделал список ядов.

Кроме того, у меня есть некоторая магия make-файла, которая гарантирует, что вышеупомянутые две техники применяются к каждому применимому файлу, а также выполняет некоторые другие проверки.

Однако следует отметить, что у каждого приложения свои потребности, поэтому эти заголовки не следует использовать как есть. Например, очень немногие приложения захотят отравить std::string как и я

5

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector