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

Классы-посредники - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В функция с переменным числом параметров. http://www.cyberforum.ru/cpp-beginners/thread390371.html
В функцию с переменным числом параметров поступают слова, конец списка - указатель NULL. Найти и вывести все слова, которые читаются одинаково сначала в конец и с конца в начало. с чего начать?
C++ Подскажите с записью на С++ задача: "Старшую тетраду каждого байта числа заменить результатом операции «стрелка Пирса» старшей и младшей тетрад, а младшую тетраду – результатом операции «штрих Шеффера» старшей и младшей тетрад исходного байта" как записать на С++?? стрелку Пирса и штрих Шеффера http://www.cyberforum.ru/cpp-beginners/thread390368.html
C++ Написал прогу по стеку, но при выводе содержимого - выводит только последний добавленный
Вот собственно сам код, подскажите если что не так. Заранее спасибо! #include <iostream> #include <stack> using namespace std; class Node { public:
C++ Расписать каждую строчку .
Распишите каждую строчку.завтра защищать а я не понимаю чо это ) что делае и т.д 1) Использование компилятора c последующим подключением компановщика и созданием исполняемого файла a.exe H:\laba3>bcc32 -I.\include a.cpp b.cpp c.cpp Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland a.cpp: b.cpp: c.cpp:
C++ поразрядные операции http://www.cyberforum.ru/cpp-beginners/thread390345.html
помогите пожалуйста решить следущую задачу: даны два int-числа: N1 = АBCD и N2 = EFGH, где AB…GH – 16-ричные цифры, ПОп – Поразрядная Операция Получить цифру X как результат выражения: X = A And B Xor C, и записать ее в N2: EFXGH. или хотя бы идею как это реализовать. заранее спасибо
C++ при нажатии на "=" вывести ответ.. Писала простенькую прогу калькулятор, тут ответ считывает при нажатии на enter. Преподаватель попросил, чтобы ответ выводился при нажатии на "=", но как?? int main() { int ch; do{ // основной код ch=getch(); }while(ch!=48); return0; ------> так? но так не получается у меня :( подробнее

Показать сообщение отдельно
Bers
Заблокирован
24.11.2011, 14:30     Классы-посредники
Цитата Сообщение от ForEveR Посмотреть сообщение
Bers, Ну тогда еще придется. Вот есть библиотека. По всем критериям она подходит. Но жрет непомерно много памяти, а все потому что внутри используется дек, хотя с тем же успехом может использоваться список. И вот при том коде приложение жрет 3 гига памяти и падает, а заменив внутри библиотеки деку на лист - оно жрет 1 гиг памяти и отрабатывает корректно. Неплохой профит, м?
Если она жрёт непомерно много памяти, а память - один из критериев, значит уже не подходит.
Если подходит - значит заказчика не парит, сколько памяти она скушает в его проекте.

Можно конечно запилить инструмент под собственные требования. И потерять на этом кучу времени. А можно сразу выбрать подходящий инструмент. Обычно так и поступают люди.

Я понимаю, что мир несовершенен, а мои выкладки слишком идеалистичны, но вот я расскажу про пример из реальной жизни:


Мне на домашнем небольшом проектике нужна была либа, с помощью которой можно было бы грузить/сохранять картинки разных форматов.
Причем, я специально хотел задействовать либу, что бы самому не изучать форматы графических файлов, и не тратить времени на создание очередного враппера картинок.
Выбор остановил на Короне. Простая в использовании, и легковесная, она по началу полностью отвечала моим требованиям.

Однако, мне показалось намного удобнее, не использовать услуги Короны напрямую, а сделать класс-обертку для неё. Что бы мой проект работал с короной только через эту обёртку.
Я дал методам обёртки более понятные имена, да и работать с объектом класса в ОО-архитектуре мне тогда казалось, более удобно, чем через си-style интерфейс.

Я ещё тогда по неопытности не знал, что оказал себе грандиозную услугу.

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

Сама по себе Корона такую услугу уже не предоставляла.

Что делать?

Я задал этот вопрос старшим товарищам. Их ответ: Корона же с открытым исходным кодом. Поковыряй её сорцы, и прицепи к ней дополнительную фичу. Будит у тебя более продвинутая версия Короны.

Это что получается, я хотел использовать библиотеку, что бы не тратить время на загрузки/сохраниловки. А теперь, вместо этого, мне придётся изучать код чужой библиотеки, и что-то там допиливать?????!!!!!

Так если б я знал, что так будит, я бы вообще бы отказался от Короны.

И вот тут я понял всю глубину таких вещей, как например, идима pImpl

Мой проект ничего не знал ни о какой Короне. Он работал только с классом-обёрткой.
Значит я в любой момент мог заменить Корону на другой инструмент, заменив лишь реализацию класса-обёртки. Мой проект даже не заметил бы подмены!

Что я и сделал. Вместо короны пересел на DevIL, который лучше отвечал требованиям к моим задачам. И не знал никаких проблем.

Вот если бы я внешнею библиотеку бы хардкорно использовал везде, где были нужны её услуги, то везде мне пришлось бы править код при попытке перейти на другой инструмент.

Конечно, это пример довольно оторванный от "реального несовершенного мира".

А в реальном несовершенном мире, в конторах стараются делать быстро, и экономят на архитектуре проектов.

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