<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F%2FC%2B%2B_check</id>
	<title>Практические занятия по курсу ОиМП/C++ check - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F%2FC%2B%2B_check"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check&amp;action=history"/>
	<updated>2026-06-06T19:19:42Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check&amp;diff=1964&amp;oldid=prev</id>
		<title>imported&gt;Alexey.Zobnin: /* Оформление */</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check&amp;diff=1964&amp;oldid=prev"/>
		<updated>2020-01-14T11:14:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Оформление&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Оформление ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Отступ - 2 или 4 пробела (используйте одинаковую ширину отступов во всёй программе). Символы табуляции использовать для отступов запрещено.&amp;lt;/li&amp;gt;&lt;br /&gt;
Настройка в Visual Studio 2019:  &lt;br /&gt;
Средства → Параметры → Текстовый редактор → С/C++ → Табуляция → Галочка возле &amp;quot;Вставлять пробелы&amp;quot;&lt;br /&gt;
&amp;lt;li&amp;gt;Отступами выделяются: тела функций, структур/классов, вложенных блоков.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Бинарные операторы отбиваются пробелами с двух сторон, после унарных пробелы не ставятся: a += b + -c&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Пробелы после открывающей скобки и перед закрывающей скобкой не ставятся: f(1, (2 + 3)). Закрывающая скобка должна идти на той же строке, что и последнее выражение.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Максимальная длина строки - 100 символов.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Перед ; пробел не ставится. После ; в for ставится пробел.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Пустые блоки записываются как {} (а не ;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Открывающая { пишется на той же строке, что и начало блока (if, while, for, объявление функции).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;else пишется на той же строке, что и закрывающая } от if: if (...) {...\n} else {&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Однострочные комментарии отделяются от кода двумя пробелами и начинаются с пробела.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Пробелы в конце строки запрещены.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Файл должен заканчиваться переводом строки.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;В range-base for двоеточие обрамляется пробелами.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;В начале/конце блока, после public/private/protected пустые строки не ставятся.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Перед объявлением функции/структуры/класса - пустая строка обязательна.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Секции include-ов и using-ов были упорядочены по алфавиту.&lt;br /&gt;
Плохо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Хорошо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Плохо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
using std::vector;&lt;br /&gt;
using std::cin;&lt;br /&gt;
using std::cout;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Хорошо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
using std::cin;&lt;br /&gt;
using std::cout;&lt;br /&gt;
using std::vector;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Имя шаблона и параметр шаблона НЕ должны разделяться пробелом.&lt;br /&gt;
&lt;br /&gt;
Плохо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
vector &amp;lt;int&amp;gt; v;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Хорошо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
vector&amp;lt;int&amp;gt; v&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Именование ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Имена переменных должны начинаться со строчной буквы.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;int Distance;&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;int distance;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не используйте однобуквенных переменных (за исключением счётчиков циклов). Из названия переменной должно быть понятно что в ней хранится.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;// количество строк и столбцов&lt;br /&gt;
size_t a, b;&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;//количество строк и столбцов&lt;br /&gt;
size_t rowCount, columnCount;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не используйте транслит в именах.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;size_t dlina_massiva;&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;size_t length;&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Давайте переменным осмысленные имена. В частности, не используйте однобуквенных имён за исключением имён итераторов (i, j, k, ...), координат (x, y, z).&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
char alf(int j) { &lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
// или&lt;br /&gt;
char alphabet(int j) { &lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
char get_char(int j) {&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int ln;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int length;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Для переменных-счётчиков не следует использовать имена DocNum, NumDoc, DocsCount, DocsNum, CountDoc из-за неграмотности и неоднозначности. Для числа элементов (скажем документов) можно использовать NumDocs или DocCount. Для функции, долго и явно подсчитывающей это число, подойдет CountDocs().&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Функциям, которые возвращают bool, лучше давать имена, начинающиеся на is или has.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// плохо&lt;br /&gt;
bool graph_connected() { ... }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// хорошо&lt;br /&gt;
bool is_connected_graph() { ... }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// плохо&lt;br /&gt;
bool element(int n) { ... }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// хорошо&lt;br /&gt;
bool has_element(int n) { ... }&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== std::vector ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Если требуется создать вектор размера n, воспользуйтесь специальным конструктором.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;vector&amp;lt;int&amp;gt; v;&lt;br /&gt;
v.resize(n);&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;vector&amp;lt;int&amp;gt; v(n);&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Циклы ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Если требуется перебрать элементы коллекции, предпочитайте [http://ru.cppreference.com/w/cpp/language/range-for range-base for]. Он лаконичней и легче читается.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// плохо&lt;br /&gt;
for (size_t i = 0; i &amp;lt; neighbors_list[vertex].size(); ++i) {&lt;br /&gt;
    if (!(visited[neighbors_list[vertex][i]])) {&lt;br /&gt;
        dfs(neighbors_list[vertex][i], visited);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
// хорошо&lt;br /&gt;
for (const int&amp;amp; neighbor_vertex : neighbors_list[vertex]) {&lt;br /&gt;
    if (!(visited[neighbor_vertex])) {&lt;br /&gt;
        dfs(neighbor_vertex, visited);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Функции ==&lt;br /&gt;
Функции нужны&lt;br /&gt;
* для избежания дублирования кода;&lt;br /&gt;
* для того, чтобы можно было их переиспользовать много раз в различных проектах.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Порядок аргументов функции: сначала входные параметры (по значению либо константой ссылке), затем выходные (по указателю).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Передавайте аргументы в функции по константной ссылке везде, где это уместно.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_vector(vector&amp;lt;int&amp;gt; v) {&lt;br /&gt;
    ...&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_vector(const vector&amp;lt;int&amp;gt;&amp;amp; v) {&lt;br /&gt;
    ...&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не создавайте функции с избыточным числом аргументов. Например, в функцию, печатающую вектор, не нужно передавать размер вектора.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_vector(const vector&amp;lt;int&amp;gt;&amp;amp; v, int n) {&lt;br /&gt;
    for (size_t i = 0; i &amp;lt; n; ++i) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; v[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_vector(const vector&amp;lt;int&amp;gt;&amp;amp; v) {&lt;br /&gt;
    // Используйте v.size(), чтобы получить длину вектора&lt;br /&gt;
    for (size_t i = 0; i &amp;lt; v.size(); ++i) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; v[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;В проекте есть вектор, хранящий путь &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;vector&amp;lt;int&amp;gt; way&amp;lt;/source&amp;gt; и требуется написать функцию, которая печатает этот путь.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_way(const vector&amp;lt;int&amp;gt;&amp;amp; way) {&lt;br /&gt;
    for (size_t i = 0; i &amp;lt; way.size(); ++i) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; way[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;void print_vector(const vector&amp;lt;int&amp;gt;&amp;amp; v) {&lt;br /&gt;
    for (size_t i = 0; i &amp;lt; v.size(); ++i) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; v[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// или&lt;br /&gt;
&lt;br /&gt;
void print_vector(const vector&amp;lt;int&amp;gt;&amp;amp; v) {&lt;br /&gt;
    for (size_t i = 0; i &amp;lt; v.size(); ++i) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; v[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_way(const vector&amp;lt;int&amp;gt;&amp;amp; way) {&lt;br /&gt;
    print_vector(way);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Плохой вариант плох тем, что теряется свойство реюзабельности у функции: вы не сможете использовать её в другом проекте, где, скажем, нужно будет распечатать вектор оценок.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прочее ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Необходимо явно подключать заголовочные файлы, в которых объявляются используемые функции/классы/... Запрещено явно подключать один и тот же заголовочный файл дважды.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;В качестве логических операторов следует использовать &amp;amp;&amp;amp;, ||, ... Их аналоги and, or, ... запрещены.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Запрещено использовать приведение типов в стиле C - следует использовать *_cast.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Конструктор от одного аргумента должен быть объявлен explicit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;При объявлении виртуальной функции следует использовать один и только один из спецификаторов virtual, final, override.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;При объявлении переменной спецификаторы static/extern/... идут перед именем типа.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Везде, где это возможно, используйте префиксный инкремент и декремент.&lt;br /&gt;
&lt;br /&gt;
Плохо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
i++;&lt;br /&gt;
it--;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Хорошо:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
++i;&lt;br /&gt;
--it;&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Пишите код так, чтобы не было предупреждений (warnings) компилятора. Это нужно по двум причинам:&lt;br /&gt;
# Обычно компилятор выдаёт предупреждения по делу, на те места, где скрыта потенциальная ошибка.&lt;br /&gt;
# Если игнорировать &amp;quot;неважные&amp;quot; предупреждения, их может много накопиться и вы не заметите действительно важных.&lt;br /&gt;
В частности, избегайте сравнений знаковых (int) и беззнаковых (size_t) переменных.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! !! плохо !! хорошо&lt;br /&gt;
|-&lt;br /&gt;
!&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;for (int i = 0; i &amp;lt; v.size(); ++i) {&lt;br /&gt;
    ...&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;for (size_t i = 0; i &amp;lt; v.size(); ++i) {&lt;br /&gt;
    ...&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры и проверка ==&lt;br /&gt;
[https://yadi.sk/d/0ZeUy2xKbyeuw как делать не надо]&lt;br /&gt;
&lt;br /&gt;
Флаги для [https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py cpplint]: --filter=-,+build/include,-build/include_order,-build/include_what_you_use,+build/storage_class,+readability/alt_tokens,+readability/braces,+readability/casting,+readability/inheritance,+runtime/casting,+runtime/explicit,+whitespace/blank_line,+whitespace/braces,+whitespace/comma,+whitespace/comments,+whitespace/empty_conditional_body,+whitespace/empty_loop_body,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/newline,+whitespace/operators,+whitespace/parens,+whitespace/semicolon,+whitespace/tab --linelength=100&lt;/div&gt;</summary>
		<author><name>imported&gt;Alexey.Zobnin</name></author>
	</entry>
</feed>