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

реализация класса в .h файле хорошо или плохо? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка с полем в классе http://www.cyberforum.ru/cpp-beginners/thread939514.html
Пишу класс.Сюда его выкладывать не хочу,ибо он достаточно обширный.В классе доступе private задаю поле дескриптора файла.Тоесть что-то типо того: Class Myclass { private: HANDLE file; ... public: ... };
C++ Сообщения между win32 приложениями Как отправить сообщение (аналог системных типа WM_DESTROY только свои) и обработать приемником? приёмник это обычное консольное win32 приложение(когда в визуале пустой проект win32 создаешь) http://www.cyberforum.ru/cpp-beginners/thread939505.html
Как назвать классы? C++
Сразу замечу, что дело происходит в 2D без физики, как таковой. 1) У меня есть классы: Mixer - звуковой движок Graphics - графический движок У звукового движка есть базовый класс: MixerPrimitiveType (некоторая инфа для воспроизведения) от которого наследюутся:
C++ Не удается подключить к приложению gtest и свою статическую либу VS 2010
Здравствуйте, господа. Возникла проблема с линкером в VS 2010 после подключения к консольному приложению собственной же статической библиотеки. В солюшене 2 проекта: 1 - статическая библиотека, 2 - приложение для тестов её функций, к этому приложению подключен gtest через его статическую либу. В 1-м проекте статической библиотеки имеется h-ник с API этой либы. Так как API может оперировать...
C++ Консоль для ведения логов http://www.cyberforum.ru/cpp-beginners/thread939483.html
Не уверен, что пишу туда, куда нужно, но есть только один способ узнать. Интересуют существующие решения по сабжу. Требования простые: - Минимум зависимостей - Цветной текст и фон - Динамические фильтры записей - Много буков - Желательно, отдельный поток и кеширование на диск - Картинки и ссылки приветствуются
C++ Крутящееся колесо Может ли кто написать (срочно) программу крутящееся колесо, исходник чтобы был с комментариями. подробнее

Показать сообщение отдельно
Убежденный
Системный программист
 Аватар для Убежденный
14470 / 6454 / 1020
Регистрация: 02.05.2013
Сообщений: 10,686
Завершенные тесты: 1
20.08.2013, 12:56     реализация класса в .h файле хорошо или плохо?
Цитата Сообщение от Evg Посмотреть сообщение
Ты смысл теста неправильно понял. В комментарии перед test_copy написал, почему там атрибут noinline. Размещены они в одном модуле, или не в одном - большой роли не играет. Разница между твоими запусками 1-2 и 3 в том, что было проинлайнена функция test_copy.
На самом деле она не была проинлайнена ни в одном из случаев.
Компилятор счел, что для этого нет оснований. Тем не менее, определенная оптимизация все
равно была выполнена. Кстати, на 32-битной машине я с помощью LTCG на этом же тесте получил
еще больший прирост - порядка 25%.

Цитата Сообщение от Evg Посмотреть сообщение
Но тест ведь вовсе НЕ на инлайн test_copy. Тест на то, что проинлайнятся конструкторы, методы и операторы классе vector, тела которых написаны в инклюдах. Другими словами, мы имеем одномодульный тест, к которому понятие межмодульных оптимизаций (LTCG) не имеет смысла. И вся производительность, вытянутая на этом тесте компилятором за счёт инлайна - она проявляется в одномодульном режиме компиляции за счёт "правильного" написания хидера.
В этом тесте отсутствует главное - доказательство того, что реализация в заголовках
приводит к генерации более быстрого кода, чем реализация в исходных файлах.
И это хитро, потому что STL, как и надлежит шаблонным классам, реализована в
заголовках, и подтвердить или опровергнуть обратное, используя код STL, не
представляется возможным.

Думаю, единственная возможность расставить все точки над "i" - это найти какую-нибудь
библиотеку, которая может собираться как в варианте header-only, так и как набор h+cpp.
Возможно, в Boost что-то такое найдется. И вот по результатам ее запуска уже делать выводы.
 
Текущее время: 02:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru