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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ потоки выполнения c++ http://www.cyberforum.ru/cpp-beginners/thread443624.html
В чем вся соль потоков(нитей)? Порекомендуйте мне литературу или ссылку дайте на годную статью, а то ничего не понял
C++ Работа с консольным окном Здравствуйте! Может ли программа узнать размеры консольного окна? (Требуется что-то вроде окна в Турбо паскале 7.0.) А так же может ли сама программа изменять шрифт и размер шрифта в консольном... 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
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. Код разбит на функции.

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

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