![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
Вопрос теоретический.
Предположим, что функция externalFunctionFromDll() может возвращать различные значения и компилятору конечно ничего о ней не известно на этапе компиляции. Статический экземпляр класса MyClass инициализируется 1 раз при первом вхождении в функцию foo(), внутреннее состояние копии экземпляра класса MyClass зависит от того что вернет функция func(), результат которой зависит от параметра value. Сможет ли компилятор оптимизировать функцию foo() таким образом, чтобы функция externalFunctionFromDll() вызывалась лишь один раз, при первом вхождении в функцию, или её вызов будет происходить каждый раз? Если я перепишу функцию таким образом
Сможет ли компилятор провести оптимизацию таким образом, чтобы под переменную value не отводилась постоянная ячейка памяти, так как она не используется нигде кроме как для передачи в качестве параметра и то один раз при инициализации mc? |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
нет.. он сможет выкинуть value, но не вызов функции, тем более у которой могут быть сторонние эффекты.. да, насколько я знаю, если к ней не применяется операция взятия адреса. Это сообщение отредактировал(а) mes - 14.4.2010, 23:56 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
насколько я знаю под const int никогда не отводится ячейка, а он работает как типизованный define -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
mes, azesmcar, sorry, конечно же. Просто неправильно выразился. Присоединяюсь к
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |