Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Для каждого времени года вывести расход, а затем - общую сумму расхода https://www.cyberforum.ru/ cpp-beginners/ thread1249144.html
как написать правильно? #include <iostream> using namespace std; const int Seasons = 4; const char* Snames = {"Spring", "Summer", "Fall", "Winter"}; void fill(double* pa, int Seasons);...
C++ Как реализовать таймер в консольном приложении?
И как-нибудь без while и sleep, чтобы программа не висела. Пытался делать через winapi, но не понял как функцию, выполняемую при "тикании" делать. Добавлено через 2 часа 12 минут ладно, вопрос...
Компилятор выдает ошибку: [Error] ld returned 1 exit status C++
#include <iostream> using namespace std; const int Max = 5; int fill_array(double ar, int limit); void show_array(double ar, int n); void reverse_array(double ar, int n); int main() {
C++ Освобождение памяти при удалении структуры Есть структура с указателем на блок памяти, если удалить структуру,память внутри структуры освободится или же надо освободить память внутри структуры? struct test { char * name; test(char* a)... https://www.cyberforum.ru/ cpp-beginners/ thread1249066.html
C++ Как работает std::piecewise_construct? https://www.cyberforum.ru/ cpp-beginners/ thread1249059.html
Здравствуйте! Мне необходимо содержать std::map с уникальными значениями, что-то вида: S get(std::string k) { static std::map<std::string, S> cache = { }; return *(cache.emplace(k,...
C++ Решил написать текстовый редактор. Что можно почитать?
Здравтвуйте! Я решил написать текстовый редактор. Но к сожилению гугл не выдал ни статей по этой теме, ни исходников. Если у кого-то есть исходники или статьи буду очень благодарен.
При некоторых компиляциях программа медленно исполняется C++
Крестики-нолики очень странно себя ведут. Иногда при компиляции все работает нормально, а иногда программа очень медленно выполняется и непонятно от чего это зависит. Если раскомментировать одну...
C++ Выйти из цикла до того, как n равно 0 Друзья подскажите почему условие цикла игнорируется?Прописал до тех пор пока не равно нулю она всё равно делит на ноль. char y; do { int n,i(10),k(1); cout <<"Введите число : "; cin... https://www.cyberforum.ru/ cpp-beginners/ thread1249001.html
C++ Зачем в определении std::forward () нужен объект remove_reference? https://www.cyberforum.ru/ cpp-beginners/ thread1248971.html
Зачем в определении std::forward() нужен объект remove_reference ? И почему не могут быть выведены аргументы шаблона? Я написал вот такой вот код,все отлично работает,в обоих случаях возвращается...
C++ Конструктор без параметров: не выводится строка в приведенном коде #include "stdafx.h" #include "conio.h" #include <iostream> using namespace::std; class String { protected: enum { SZ = 80 }; char str; public: https://www.cyberforum.ru/ cpp-beginners/ thread1248968.html
3239 / 2047 / 350
Регистрация: 24.11.2012
Сообщений: 4,897
31.08.2014, 08:55 0

О структуризации кода

31.08.2014, 08:55. Просмотров 846. Ответов 9
Метки (Все метки)

Ответ

Цитата Сообщение от hoz Посмотреть сообщение
мне нужно работать не с копиями объекта данной структуры, а конкретной единственным экземпляром
1. Явно удалить констукторы по умолчанию и копирования, оператор присваивания.
2. Передавть в заинтересованные классы (умный) указатель или ссылку на разделяемый объект.

В приложении наверняка есть точка, где можно создать общедоступные объекты, оставив при этом их локальными. Например, может быть класс Application:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Application {
public:
  int Run() {
    // Агент, реализующий основной алгоритм программы.
    // Использует логгер для отладочного вывода.
    Agent agent(logger_);
    agent.CalculateMySuperBusinessLogic();
  }
private:
  // Разделяемый объект логгера
  std::shared_ptr<Logger> logger_; 
};


Вернуться к обсуждению:
О структуризации кода
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2014, 08:55
Готовые ответы и решения:

Советы по ускорению работы кода + оценка самого кода
Вчера вечером сел написать 3 консольные программки для работы с шаблонами размножения текста:...

Вынести основную часть кода кода в отдельную функцию
помогите пожалуйста переделать это на функцию... #include &lt;locale.h&gt; #include &lt;conio.h&gt; int...

Исправление кода. Функция по нахождение суммы между мин и макс показателями массива. Корректировка кода
Прошу помощи. Написал программку, проблема состоит в функции summ в ней происходит нахождение...

Грамотная отладка программы, подмога в структуризации кода
Сразу прошу прощения, если ошибся разделом. Написал программу. Она простая. Она сжимает...

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