Я хочу видеть своими глазами, как изменяется код программы, если я использую/(или не хочу) inline
ключевое слово в определении метода.
Мои вопросы:
1) какой модуль среды создает окончательную версию кода (с учетом встроенных функций). Когда я говорю "окончательная версия", я использую версию кода в форме, в которой все еще можно читать (на языке c++)? (я полагаю, этот модуль похож на препроцессор, но препроцессор не препроцирует встроенные функции)
2) Как я могу увидеть такой "окончательный код" (где уже сделаны все упомянутые изменения)?
PS: У меня есть Visual Studio 2013 Express
С того момента, когда я использовал C/C++, который был довольно давно:
1) Нет такой вещи. Встраивание применяется к сгенерированной сборке (что, кстати, еще можно прочитать, но это не C++).
2) Как я уже сказал, такой код не генерируется, но вы можете увидеть результирующую сборку.
inline
больше не оказывает большого (если вообще) влияния на то, действительно ли ваш код встроен оптимизатором. Компилятор будет делать то, что он хочет. Все, чтоinline
, позволяет нескольким определениям не вызывать ошибок. Не отправлять как ответ, потому что я не знаю достаточно об остальной части вопроса, чтобы сказать что-нибудь.