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

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

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

Показать сообщение отдельно
Убежденный
Ушел с форума
Эксперт С++
15697 / 7207 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
20.08.2013, 12:56
Цитата Сообщение от 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 что-то такое найдется. И вот по результатам ее запуска уже делать выводы.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru