то ... и только в этом случае идет компиляция?
А если в разных объектных файлах?
блин, прежде чем браться за кьют, изучайте C++ сначала. Разные объектные файлы компонуются в один исполняемый файл. И даже если в разных объектных файлах одной программы определены одинаковые функции, то линковщик будет ругаться при сборке исполняемого файла
а мне зачем об этом пишешь?
ну так а что за вопрос: а если в разных объектных файлах? Я ведь и написал, что в разных
а хедер и не компилируется ж
ifndef это защита при компиляции одного объектного файла
компилируется. Но компиляция объявления и определения даёт разные результаты
тогда вы что-то другое имеете ввиду под компиляцией...
Я помещал некоторые служебные функции в хедер формы сбилдера и никаких дубляжей не было если был определен входной #ifndef... А хедер формы был во всех модулях этой формы.
компиляция это создание объектного файла - ничего другого я в виду не имел
Везде ставь inline и будет тебе счастье
глупейший совет, ну реально
тогда где это написано?
А какие проблемы с инлайном?
то что текстовые файлы компилируются
то есть вы пишете очень сложную функцию, которая в результате даёт десятки мегабайт объектного кода и добавляете inline. В результате у вас эта функция будет появляться столько раз сколько вы её заинкладили, но с другими внутренними именами (да, при компиляции инлайн-функции присваивается уникальное внутренее имя, в результате гарантируется что такая фунция будет одна, но при этом одинаковых функций с разными именами у вас появится столько сколько раз вы заинкладите такое)
Вы наверное инлайн со статик перепутали
блин, ребята, вы серьёзно? Ну откройте справочник любой, не позорьтесь
It has the same address in every translation unit. https://en.cppreference.com/w/cpp/language/inline
Функция имеет один и тот же адресс во всех единицах трансляциях -> в исполняемом файле она одна лежит, а не много на каждую единицу трансляцию. Или это сложно осознать?
inline - просьба, компилятор в праве отказать, никаких функций с уникальными именами конечно же не генерится. inline в современном его варианте - это способ борьбы с нарушением ODR
Обсуждают сегодня