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

1. Не изобретайте велосипед заново

Широко используйте встроенные функции C ++ и его библиотеки STL.

Например, используйте pow и __gcd вместо того, чтобы создавать свою функцию для вычисления мощности и gcd двух чисел.

Примечание. Есть одна загвоздка в использовании встроенной функции pow для вычисления степени двух чисел.

используйте int(pow(x, y) + 0.5) вместо pow(x, y).

Начните широко использовать C ++ STL, у него есть два преимущества: во-первых, вам не нужно переписывать одни и те же структуры данных и алгоритмы снова и снова, во-вторых, он делает код более читабельным.

Например, вы можете использовать префиксную сумму. Будете ли вы писать код с нуля, НЕТ, вы будете использовать partial_sum build в библиотеке C ++ STL.

Если вы хотите узнать больше о C ++ STL, прочтите эту статью.

2. Добавьте один файл заголовка.

Вы должны включить много файлов заголовков, таких как iostream, cstdlib, cmath, вектор, стек, алгоритм и т. Д. Но вы можете включить только один файл заголовка, чтобы выполнить свою работу. Этот файл заголовка очень полезен для конкурентоспособных программистов.
Этот файл заголовка

#include<bits/stdc++.h>

Примечание.Если вы запускаете свой исполняемый файл в производство, это увеличит размер исполняемого файла, поэтому не рекомендуется включать этот файл заголовка в этом конкретном случае, поскольку вы будете включать много ненужных файлов, которые вы не будете using.
Подсказка: Используйте «\ n» вместо endl в соревновательном программировании.

3. Начните использовать макросы.

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

макрос watch очень удобен при отладке, поскольку мы можем использовать его для просмотра значения переменных вместе с их именами ..

теперь вы должны использовать sort(all(container)) вместо sort(container.begin(), container.end())

вас должно накормить написанием for(auto it = container.begin(); it != container.end(); it++), теперь начинайте писать tr(container, it).

rep означает повторение.

rep(i, a, n) повторяется от «a» до «n», исключая «n». rep0 (i, n) выполняет итерацию на основе 0-индексации. rep1 (i, n) выполняет итерацию на основе 1-индексации.

Вы можете включить одну строку fastio, чтобы cin и cout работали так же быстро, как scanf и printf. Для больших входных файлов это значительно повышает производительность вашей программы.

4. Создайте файл утилит

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

5. Чтение и запись нескольких переменных в одну строку.

Просто включите эти две функции в свою программу, и таким образом вы сможете читать несколько входов с консоли и записывать несколько выходов на консоль. Вот как это можно сделать:

int x, y, z;
read(x, y, z);
write(x, y, z);

Примечание: некоторые компиляторы могут помечать предупреждение при использовании этих функций, но вам нужно игнорировать их.

6. Используйте лучший текстовый редактор / IDE.

Прекратите использовать Turbo C ++, Dev C ++, Codeblocks и используйте лучший текстовый редактор / IDE, например Visual Studio, Visual Studio Code, Clion, CodeLite.

У них лучше intellisense и автоматическое завершение кода.

Краткое примечание. Используйте Visual Studio (IDE), только если у вас действительно высокопроизводительный компьютер, поскольку он достаточно тяжелый.

Мой личный фаворит - Visual Studio Code. Он намного легче, чем Visual Studio, и обладает множеством функций. Я использую его для всего, буквально для всего. Подробнее о возможностях vscode вы можете прочитать здесь.

7. Настройте текстовый редактор / IDE.

Этот пункт предназначен специально для пользователей vscode. Вы можете искать похожие вещи для редактора по вашему выбору.

Я установил шаблон по умолчанию для c ++ в vscode в качестве быстрого старта. Вы также можете сделать это следующим образом:

Перейдите в Файл - ›Настройки -› Пользовательские фрагменты. Откроется палитра команд. Затем создайте фрагмент для файла c ++. Что-то вроде этого :

Пример программы

Ниже приведен пример программы, которая включает в себя все вышеперечисленные моменты :)

Примечание. Обратите внимание, что я поместил using namespace std; после строки 12 перед всеми typedef. Если я поместил его после любого typedef, то некоторые онлайн-компиляторы, такие как hackerrank, могут пометить ошибку.

Пожалуйста, хлопайте в ладоши, если вам это нравится.

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

Подписывайтесь на меня на Github

Подключите меня к LinkedIn 🤝