Форум программистов, компьютерный форум 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++ Крутящееся колесо Может ли кто написать (срочно) программу крутящееся колесо, исходник чтобы был с комментариями. подробнее

Показать сообщение отдельно
Убежденный
Системный программист
Эксперт С++
15173 / 6805 / 1073
Регистрация: 02.05.2013
Сообщений: 11,119
Завершенные тесты: 1
19.08.2013, 17:19     реализация класса в .h файле хорошо или плохо?
Цитата Сообщение от Evg Посмотреть сообщение
Продемонстрируй мне, как глядя на код
...
и не видя тело конструктора, указанные компиляторы могут что-то проинлайнить
Могут.

Если более конкретно:
IPO в Intel C++
http://software.intel.com/sites/prod...s_ipo_mult.htm

LTCG в Visual C++
http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx
http://msdn.microsoft.com/en-us/magazine/cc301698.aspx

У GCC также есть соответствующие опции, но я с ним не работаю, поэтому ссылку не приведу.

Ну и специально для тех, кто, как и я, верит только глазам.

Компилируем в Visual C++ 2008 проект с таким кодом:
C++
1
2
3
4
int my_function()
{
    return 0x12345;
}
В итоге получаем объектный файл (.obj).

Теперь создаем второй проект (чтобы не было подозрений) с таким кодом:
C++
1
2
3
4
5
6
int my_function();
 
int main()
{
    return (my_function());
}
И подключаем к нему собранный ранее объектник.
Конфигурация Release, настройки оптимизации по умолчанию.

Вызов функции my_function и ее реализация находятся в разных cpp файлах.
Формально даже в разных единицах компоновки. Однако вот что получилось в
сгенерированном ассемблерном листинге:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01 
 
    TITLE   d:\Dev\App\Test\main.cpp
    .686P   .XMM
    include listing.inc
    .model  flat
 
INCLUDELIB OLDNAMES
 
PUBLIC  _main
; Function compile flags: /Ogtpy
; File d:\dev\app\test\main.cpp
;   COMDAT _main
_TEXT   SEGMENT
_main   PROC                        ; COMDAT
 
; 5    :     return (my_function());
 
    mov eax, 74565              ; 00012345H
 
; 6    : }
 
    ret 0
_main   ENDP
_TEXT   ENDS
END
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru