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

В чем преимущество использования Pimpl? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странное поведение http://www.cyberforum.ru/cpp-beginners/thread601874.html
Здравствуйте еще раз :) Теперь возникла другая непонятка. Есть класс StringParser, объекты которого умеют разбивать строку на подстроки, разделенные запятыми. Всякий раз, когда вы вызываете метод .getNextPart(), он возвращает вам следующую подстроку. Описывается класс StringParser в файле StringParser.h: using namespace std; class StringParser { private: char *str, *seperators; int...
C++ Инициализация элементов массива в конструкторе Доброго времени суток! Подскажите пожалуйста можно ли инициализировать элементы массива при помощи списка инициализации в конструкторе класса. Если можно то какой синтаксис, а если нет то почему? http://www.cyberforum.ru/cpp-beginners/thread601847.html
C++ Странные ошибки
Здравствуйте! У меня есть такой код: class StringParser { private: char* str; char* seperators; int position; public: StringParser (char* newStr) { str = newStr; seperators = new char;
C++ Ошибка при запуске программы (undefined reference to...)
Здравствуйте, пишу лабу по С++ и столкнулся с ошибкой при запуске данного кода, ошибка 248|undefined reference to `Podrazdelenie::scan()' #include <stdio.h> #include <tchar.h> #include "string.h" class Podrazdelenie; class Tirg_avtomat { protected: static int kolvo; static int nomer;
C++ Сколько различных натуральных чисел можно составить из цифр 0, 1, 2, 3, 4, 5, http://www.cyberforum.ru/cpp-beginners/thread601837.html
Сколько различных натуральных чисел можно составить из цифр 0, 1, 2, 3, 4, 5, если каждая цифра входит не более одного раза
C++ Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц Здравствуйте, не могу понять в чём может быть ошибка :) Решаю олимпиадную задачу. Но система находит в тесте 5 не верный ответ) В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр не превышает 100. В единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей. #include <stdio.h> подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
10.06.2012, 14:00     В чем преимущество использования Pimpl?
Я код лабораторных тоже не смотрел. Но в принципе выгода от использования pimpl заключается в уменьшении взаимозависимости между модулями в большом проекте и, как следствие, уменьшение времени компиляции.
Допустим у нас есть класс A, который необходимо встроить в класс B. Если использовать наследование, то при изменении закрытой части класса A (добавление/удаление приватных переменных и функций, изменение интерфейса приватных функций) придётся перекомпилировать все модули, которые включают определения классов А и B. Если использовать pimpl, то перекомпилировать придётся только модуль с реализацией класса A. Платой является некоторое (в большинстве случаев незначительное или даже нулевое) снижение производительности за счёт дополнительного уровня (что-то слова подходящего не подберу) косвенности что ли...
Ну и в pimpl нередко упрятывают платформо-зависимый код.
 
Текущее время: 05:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru