Информация об изменениях

Сообщение Re: покритикуйте метод компиляции от 19.11.2022 23:42

Изменено 19.11.2022 23:43 Андрей Тарасевич

Re: покритикуйте метод компиляции
Здравствуйте, maks1180, Вы писали:

M>Недостатки:

M>- конфликт имён может быть, если имена глобальных функций или переменных совпадут

Не может быть конфликта имён, если имена глобальных функций или переменных совпадут. Это как это?

Конфликт имён будет, если имена файл-локальных (внутреннее связывание) функций или переменных совпадут

M>- можно писать в удобном стиле, когда деларация и имплементация сразу. Есть какой-то термин для данного стиля ?


Ничего нового в этом нет. Файл-локальные функции обычно именно так и имплементируются. Так же имплементируются инлайновые и шаблонные функции.

Отдельная декларация (в хедере) и отдельная имплементация делаются только для внешних функций единицы трансляции.

M>Деларации и имплементация сразу. Можно конечно поробовать в таком стиле традиционным способом скомпилировать, но тогда будет много имплементаций одного класса (в каждом .o файле, где он

используется).

"много имплементаций одного класса (в каждом .o файле, где он используется)" Это как это? О чем речь?
Re: покритикуйте метод компиляции
Здравствуйте, maks1180, Вы писали:

M>Недостатки:

M>- конфликт имён может быть, если имена глобальных функций или переменных совпадут

Не может быть конфликта имён, если имена глобальных функций или переменных совпадут. Это как это?

Конфликт имён будет, если имена файл-локальных (внутреннее связывание) функций или переменных совпадут.

M>- можно писать в удобном стиле, когда деларация и имплементация сразу. Есть какой-то термин для данного стиля ?


Ничего нового в этом нет. Файл-локальные функции обычно именно так и имплементируются. Так же имплементируются инлайновые и шаблонные функции.

Отдельная декларация (в хедере) и отдельная имплементация делаются только для внешних функций единицы трансляции.

M>Деларации и имплементация сразу. Можно конечно поробовать в таком стиле традиционным способом скомпилировать, но тогда будет много имплементаций одного класса (в каждом .o файле, где он

используется).

"много имплементаций одного класса (в каждом .o файле, где он используется)" Это как это? О чем речь?