Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
#1

Какие соглашения действуют в C++? - C++

09.08.2014, 15:37. Просмотров 1070. Ответов 29
Метки нет (Все метки)

Например, в PHP следующие соглашения наименования:
  • Имена классов с большой буквы (SomeClass)
  • Имена переменных с маленькой буквы (some_var)
  • Имена функций с маленькой буквы (someFunction)

А какие соглашения действуют в C++?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2014, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какие соглашения действуют в C++? (C++):

Имя соглашения о вызове функции - C++
Заметил, что имена соглашении о вызове функции можно писать разными способами(дописывать лишнее подчеркивание). Есть ли какое-нибудь...

Почему операторы инкремента действуют по разному для стандартных и нестандартных типов? - C++
class my { int i; public: my(int in) :i(in) {} operator int () { return i; } int operator=(int...

Спрашивается, каков будет счет в конце игры, если оба игрока действуют оптимально. - C++
Помогите пожалуйста написать 2 задачи, ребят (( Спасибо вам большое. Нужно завтра сдать, помгите пожалуйста. Буду очень признательна вам ...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе - C++
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих имен встречаются во всех классах, какие...

Надо проверить какие квадраты влезли в круг а какие нет - C++
Есть круг с центром в a = 150, b = 150 радиус R*R = 1800, стороны квадратов 10. Координаты нижнего левого угла квадрата с...

Узнать, какие разряды включены в число, а какие нет - C++
Помогите разобраться.Это все надо на Си. Значение int 4 байта т.е 32 бита.Пусть есть число 10(хотя в проге число зарание не известно!!)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,031
09.08.2014, 15:40 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Единых для всех - нет.
Можно посмотреть на существующие. Первые, которые вспоминаются:
http://google-styleguide.googlecode....k/cppguide.xml
http://qt-project.org/wiki/Qt_Coding_Style
1
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16698 / 6624 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
09.08.2014, 15:44 #3
Цитата Сообщение от Gouvere Посмотреть сообщение
Например, в PHP
например, в PHP их тоже несколько. И переменные по одному из соглашению тоже обозначаются в camelCase, как функции. А то, как вы написали переменные обозначаются в C, Ruby и т.п.

Добавлено через 1 минуту
вот "зендовские" соглашения по пыху http://www.zendframework.com/manual/...nventions.html
1
gru74ik
Модератор
Эксперт CЭксперт С++
4178 / 1806 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
09.08.2014, 15:51 #4
90 рекомендаций по стилю написания программ на C++
1
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.08.2014, 15:54 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Gouvere Посмотреть сообщение
Например, в PHP следующие соглашения наименования:
Имена классов с большой буквы (SomeClass)
Имена переменных с маленькой буквы (some_var)
Имена функций с маленькой буквы (someFunction)
А какие соглашения действуют в C++?
c++ признаёт только соглашения о вызовах, всё остальное - стиль конкретного программиста, или команды разработчиков.
1
Убежденный
Системный программист
Эксперт С++
15551 / 7059 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
09.08.2014, 16:43 #6
Цитата Сообщение от Gouvere Посмотреть сообщение
А какие соглашения действуют в C++?
В С++ нет единых официальных рекомендаций по поводу оформления кода.
Тут все решается на уровне корпоративных правил в организации, в
которой вы работаете. Главное - писать так, чтобы всем было понятно, и
чтобы у читающих не возникало зрительных затруднений, даже минимальных,
при нахождении таких вещей, как, например, определение, к какому блоку
относится закрывающая фигурная скобка.
2
Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
09.08.2014, 16:55  [ТС] #7
Всем спасибо)
1
Evg
Эксперт CАвтор FAQ
17818 / 6028 / 388
Регистрация: 30.03.2009
Сообщений: 16,555
Записей в блоге: 26
09.08.2014, 18:26 #8
Самый лучший стиль - это тот, который принудительно навязало начальство. В этом случае разработчики не тратят время на бесполезные споры по поводу стиля
1
gru74ik
Модератор
Эксперт CЭксперт С++
4178 / 1806 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
09.08.2014, 18:28 #9
Цитата Сообщение от Убежденный Посмотреть сообщение
Главное - писать так, чтобы всем было понятно, и
чтобы у читающих не возникало зрительных затруднений, даже минимальных,
при нахождении таких вещей, как, например, определение, к какому блоку
относится закрывающая фигурная скобка.
++очень_много;

Сравните, к примеру, две записи одного и того же кода:

Кликните здесь для просмотра всего текста

Первый вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<conio.h>
#include <cmath>
#include<iostream>
#include <stdio.h>
 
 
using std::cout;
using std::cin;
using std::endl;
 
 
void main()
 {
         cout << "Input n,m: ";
         int n,m,n1;      int MassVseTsisla[100]; int VseTsisla; VseTsisla=0;
   cin >> n >> m; cin.get();
   n1=n;
    int Massiv[100];int Stsotsik;  Stsotsik=0;
 
   Idisuda: for (;  n!=0||n>0;  Stsotsik++)
        {Massiv[Stsotsik] = n%10; n/=10;}
      int Summa; Summa=0;
      for (Stsotsik;  Stsotsik!=0||Stsotsik>0;  Stsotsik--) 
          {Summa=Summa+Massiv[Stsotsik];}
   Summa=Summa*Summa;
        if ( Summa==m ) {MassVseTsisla[VseTsisla]=n1;n=n1-VseTsisla;
                     VseTsisla++;
                     if (n>0)goto Idisuda;}
 
    for (VseTsisla;VseTsisla>=0;VseTsisla--){cout<< VseTsisla << "Znatsenie" <<MassVseTsisla[VseTsisla]<< endl;}
    cin.get();
 
 }

Второй вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <conio.h>
#include <cmath>
#include <iostream>
#include <stdio.h>
 
 
using std::cout;
using std::cin;
using std::endl;
 
 
void main()
{   
    int n, m, n1;
    cout << "Input n, m: ";
    cin >> n >> m;
    cin.get();
    int arrAllNumbers[100]; // массив всех чисел
    int allNumbers = 0;
    n1 = n;
    int arr[100];
    int counter = 0;
    oneMoreTime:
    
    for (; n != 0 || n > 0; counter++)
    {
        arr[counter] = n%10;
        n /= 10;        
    }
 
    int summ = 0;
      
    for (counter; counter != 0 || counter > 0; counter--) 
        summ = summ + arr[counter];
        
    summ = summ * summ;
    
    if (summ == m)
    {
        arrAllNumbers[allNumbers] = n1;
        n = n1 - allNumbers;
        allNumbers++;
            if (n > 0)
                goto oneMoreTime;
    }
 
    for (allNumbers; allNumbers >= 0; allNumbers--)
        cout<< allNumbers << " value " << arrAllNumbers[allNumbers] << endl;
    
    cin.get();
 }
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.08.2014, 19:33 #10
Цитата Сообщение от gru74ik Посмотреть сообщение
C++
1
2
3
using std::cout; 
using std::cin; 
using std::endl;
М-да, забавно видеть эти штуки в теме о стиле программирования.
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
09.08.2014, 19:41 #11
Это тоже забавно:
Цитата Сообщение от gru74ik Посмотреть сообщение
counter != 0 || counter > 0
Для операции "или" достаточно выполнения первого условия,
поэтому при counter<0 выражение истинно!
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.08.2014, 20:13 #12
Что самое интересное, при counter>0 тоже сработает первое условие и до второго даже не дойдёт. Если же первое ложно, то второе тоже.
0
Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
09.08.2014, 20:49  [ТС] #13
Цитата Сообщение от Mr.X Посмотреть сообщение
М-да, забавно видеть эти штуки в теме о стиле программирования.
Скажите, почему эти штуки так вредны?
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.08.2014, 21:14 #14
Цитата Сообщение от Gouvere Посмотреть сообщение
Скажите, почему эти штуки так вредны?
А зачем они?
0
gru74ik
Модератор
Эксперт CЭксперт С++
4178 / 1806 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
10.08.2014, 00:40 #15
Я, кстати, реально не понимаю ломаний копий на тему использования директивы using новичками в программах из 30-40 строк. Чего там может "пойти не так"?
Особенно, учитывая тот факт, что во всех вменяемых учебниках есть оговорки на этот счёт, дескать, делаем так, только пока "мы маленькие".
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.08.2014, 00:40
Привет! Вот еще темы с ответами:

Проверить какие круги влезли в круг, а какие нет - C++
Есть круг с центром в a = 145, b = 145 радиус R = 43, радиусы малых кругов 5. Координаты центра нижнего левого круга с индексом...

Выяснить, какие из прямых параллельны, а какие - нет - C++
Помогите пожалуйста с программой в dev c++. Условие: Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих...

Следует дать конкретную постановку, т.е. указать, какие классы должны быть реализованы, какие должны быть в ни - C++
Задание: Перечень классов: квитанция, накладная, документ, чек; Порядок выполнения работы 1. Определить иерархию классов (в...

Не действуют кнопки - MS Access
Всем доброго времени суток! Есть база, написанная средствами аксесса на рабочем компе. Нужно выложить ее на общий диск, чтобы работали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.08.2014, 00:40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru