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

Пишем свой класс, спецификатор доступа protected - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ При вычитании целочисленного типа неправильно вычисляется http://www.cyberforum.ru/cpp-beginners/thread1496239.html
Доброго времени суток. Вычитаю два массива и записываю в новый массив. m=chisob-chikl; получаетя ,что 8-18=-96. Что не так?
C++ Замена элемента из множества Подскажите с оптимальным решением задачи. Имеется динамический vector элементов для подстановки. std:vector<std::string> letters_rep; letters_rep.push_back("r"); letters_rep.push_back("u");... http://www.cyberforum.ru/cpp-beginners/thread1496217.html
C++ Ассоциативный массив своими руками
Подскажите, пожалуйста, как реализовать такую конструкцию: array = 324;
C++ Stl vector как массив
Есть функция принимающая указатель на массив и его длину и копирующая его в другой массив определенный указателем. void SetMass(float *pMass, int plengthMass) { mMass = new...
C++ Копирование при полиморфизме http://www.cyberforum.ru/cpp-beginners/thread1496190.html
Всем доброго дня ! Почему при полиморфизме вызывается конструктор копировщик только базового класса (строка 70) ? Получаю ошибку. Мне нужна полноценная копия. Заранее спасибо !!!
C++ Нужно перевести программу с Visual basic на с++ ... подробнее

Показать сообщение отдельно
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,055
Записей в блоге: 17
11.07.2015, 01:59
Вопрос в том что ставить во главе безопасность или скорость, как по мне в большинстве случаем ставится во главе именно безопастность. С другой стороны спецификой именно С++ также являестся и эффективность/скорость. В общем баланс никто не отменял.

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

То что допустим STL не делает какие либо проверки и больший перевес в сторону скорости, так это "основопологающая" либа собственно которой отдельное место стандарте и посвещена не одна книга.

Т.е готовы ли вы писать талмуды и "учить" людей как правильно использовать вашу библиотеку, вводить свои термины и понятия специфические для вашей либы? Нужна ли вам настолько производительность?

Добавлено через 9 минут

Не по теме:

Цитата Сообщение от ct0r Посмотреть сообщение
Может с итераторов начнешь? А то класс итератора при разыменовании не проверяет, конечный он или нет. Там UB получается. Ну так как?
Кстати все же для этого есть алтернативный интерфейс через индексы и метод .at().



Добавлено через 16 минут
Цитата Сообщение от ct0r Посмотреть сообщение
Avazart, вернемся к теме.
Что касается изначальной темы и авторов книг:

41. Делайте данные-члены закрытыми (кроме случая агрегатов в стиле структур С)

Резюме
Данные-члены должны быть закрыты. Только в случае простейших типов в стиле структур языка С, объединяющих в единое целое набор значений, не претендующих на инкапсуляцию и не обеспечивающих поведение, делайте все данные-члены открытыми. Избегайте смешивания открытых и закрытых данных, что практически всегда говорит о бестолковом дизайне.
Защищенные данные обладают всеми недостатками открытых данных, поскольку наличие защищенных данных означает, что абстракция разделяет ответственность за поддержание одного или нескольких инвариантов с неограниченным множеством кода — теперь это код существующих и будущих производных классов. Более того, любой код может читать и модифицировать защищенные данные так же легко, как и открытые — просто создав производный класс и используя его для доступа к данным.
Герб Саттер, Андрей Александреску "Стандарты программирования на С++ 101 правило и рекомендация "

http://bookscafe.net/read/satter_ger...TOC_idp1948512
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru