Форум программистов, компьютерный форум 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:10     Coding style или нет
Цитата Сообщение от Evg Посмотреть сообщение
... Но эти три строки кода будут работать долго. И всё это время память для уже ненужного объекта будет висеть занятой. Только потому, что это как бы красиво выглядит в исходнике
Ну ежели, это не критично для всего приложения - почему бы и нет? Они жить не мешают. А вот красивость - это бонус.

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

Таким образом, кусок кода, которому не нужна сущность - просто не должен её создавать.
Итого: мы возвращаемся к моей канонической форме: объявляются необходимые сущности. Используются. Затем чистка (которая по большому счету сводится к ничего не деланию).

Иногда бывают особые моменты, когда могут потребоваться дополнительные временные объекты.
На самом деле требуются некие услуги, которые можно через них поиметь, а не сами объекты.
Можно просто сделать отдельную inline функцию, на которую свалить задачу по предоставлению данной услуги. Это оградит основной алгоритм от ненужных ему подробностей реализации, и избавит от присутствия совершенно не нужных ему временных объектов:

//здесь кучка кода
...
выходные_данные = foo(входные); //мелкая услуга
...
//остальной код
...
выходные_данные = foo(входные); //ещё какая нибудь мелкая услуга
...

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