Вопросы по теме 'one-definition-rule'

Не могли бы вы объяснить эту проблему удаления C ++?
У меня такой код: std::string F() { WideString ws = GetMyWideString(); std::string ret; StringUtils::ConvertWideStringToUTF8(ws, ret); return ret; } WideString - это сторонний класс, как и StringUtils. Для меня они черный ящик....
633 просмотров

Получение компоновщика GCC для предупреждения о нескольких определениях функций
Рассмотрим мой небольшой пример библиотеки C: #include <external_library.h> void some_function(void) { external_library_call(); // Do other stuff... } Он планирует сделать функцию some_function() общедоступной. Однако...
983 просмотров
schedule 11.12.2023

Некоторые вопросы об ODR, декларации и определениях
Извините, если вопросы старые или немного глупые. Я знаю основы объявления и определения, но, похоже, в C ++ есть много несоответствий или «исключений», которые делают его не гармоничным, по крайней мере, для меня. Или я что-то неправильно...
70 просмотров

Отсутствуют ли в модулях C++ нарушения ODR?
В проекте модулей C++ N4720 [basic.def.odr]/6 говорится: […] Для объекта с экспортируемой декларацией должно быть только одно определение этого объекта; диагностика требуется только в том случае, если граф абстрактной семантики модуля...
318 просмотров
schedule 08.11.2022

Как вы определяете функции в заголовочных файлах?
Установка Если у меня есть такая программа Файл заголовка, который объявляет мою основную библиотечную функцию primary() и определяет короткую простую вспомогательную функцию helper() . /* primary_header.h */ #ifndef _PRIMARY_HEADER_H...
3737 просмотров

может ли компилятор, решивший не встраивать функцию, привести к нескольким определениям?
Я знаю, что компилятор может решить, следует ли встраивать функцию или нет. Допустим, кто-то определил функцию как inline в заголовочном файле, и тело функции также находится в заголовочном файле. Кроме того, допустим, что функция длинная, и...
46 просмотров
schedule 11.08.2022