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

Coding style или нет - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ потоки выполнения c++ http://www.cyberforum.ru/cpp-beginners/thread443624.html
В чем вся соль потоков(нитей)? Порекомендуйте мне литературу или ссылку дайте на годную статью, а то ничего не понял
C++ Работа с консольным окном Здравствуйте! Может ли программа узнать размеры консольного окна? (Требуется что-то вроде окна в Турбо паскале 7.0.) А так же может ли сама программа изменять шрифт и размер шрифта в консольном окне? Цвет фона и шрифта? И если вы знакомы с функцией system() и знаете местечко с подробным описанием этой функции, выложите, пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread443622.html
C++ Написать класс для эффективной работы со строками
Написать класс для эффективной работы со строками, что позволяет форматировать и сравнивать строки, хранить в строках числовые значения и извлекать их. Для этого необходимо реализовать: • перегруженные операции присвоения и конкатенации; • операции сравнения и приведения типов; • преобразование в число любого типа; • форматный вывод строки. Написать программу, демонстрирующую работу с этим...
Вывести несколько строк в файл C++
Условие #include <iostream> #include <fstream> #include <iomanip> #include <cstring> const int N=100; std :: ifstream input; std :: ofstream output;
C++ Создайте общий массив, из данного массива и точно такого же но другого размера, и отсортируйте по уменьшению. http://www.cyberforum.ru/cpp-beginners/thread443580.html
Создайте общий массив, из данного массива и точно такого же но другого размера, и отсортируйте по уменьшению.
C++ Определите сумму элементов массива, расположенных после элемента равного минимуму. Определите сумму элементов массива, расположенных после элемента равного минимуму. подробнее

Показать сообщение отдельно
Bers
Заблокирован
10.02.2012, 14:36     Coding style или нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int GetLenth(int x1, int x2, int x3) 
{ 
    std::string str; str +=x1; str +=x2; str +=x3; 
    return str.size(); 
}
 
void func1 (int x1, int x2, int x3)
{
  int len = GetLenth(x1,x2,x3);
 
  // Здесь str нам больше не нужен. 
 
  for (i = 0; i < 1000000; i++)
    func2 (len);
}
Цитата Сообщение от Evg Посмотреть сообщение
Могут быть промежуточные значения
Ну вот, по поводу промежуточных значений...

Иногда, исключительно для читабельности, есть смысл завести промежуточный объект.
Но это переменные типа int какие нибудь...

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

Пример того, чего быть не должно:

MyClass a,b; //оч тяжелые объекты
...
MyClass c = a; a=b; b=c;

Пример того, что должно быть:
a.Swap(b); //перенацелятся лишь парочка указателей. Никакого копирования.

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


Цитата Сообщение от Evg Посмотреть сообщение
И в итоге из-за принципиальных соображений один нормально читаемый код в виде одной нормально читаемой функции превратится в десяток функций, в которых ориентироваться будет намного сложнее.
Этого не может быть. Есть только два варианта:
1. Весь код представляет собой монолитную размазню.
2. Код разбит на функции.

И если вспомогательных функций получился десяток другой, значит ваш "нормально читаемый код" просто хардкорно забил их текст внутри себя - монолитная чача.

Можно написать все в теле одной мега-раздутой функции. Можно разбить на десяток мелких.
Но само по себе "количество" кода либо не изменится, либо уменьшится, но только в случае разбиения на функции.
 
Текущее время: 05:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru