Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

ключевое слово export

#cpp


Для чего нужно ключевое слово export? Где реально его можно использовать?
    


Ответы

Ответ 1



В стандарте C++ в примечании к параграфу №1 раздела 2.12 Keywords написано [ Note: The export keyword is unused but is reserved for future use.—end note ]: То есть это ключевое слово в настоящий момент нигде не используется, но зарезервировано для использования в будущем. Ранее в стандарте C++ 2003 оно использовалось в определении шаблонов: 1 A template defines a family of classes or functions. template-declaration: exportopt template < template-parameter-list > declaration ^^^^^^ но было исключено из стандарта. так как это средство не было задействовано многими компиляторами. Вот пара цитат из с тандарта C++ 2003 (14 Templates), где имеются ссылка на это ключевое слово 6 A namespace-scope declaration or definition of a non-inline function template, a non-inline member function template, a non-inline member function of a class template or a static data member of a class template may be preceded by the export keyword. If such a template is defined in the same translation unit in which it is declared as exported, the definition is considered to be exported. The first declaration of the template containing the export keyword must not follow the definition. 8 Templates defined in an unnamed namespace shall not be exported. A template shall be exported only once in a program. An implementation is not required to diagnose a violation of this rule. A non-exported template must be defined in every translation unit in which it is implicitly instantiated (14.7.1), unless the corresponding specialization is explicitly instantiated (14.7.2) in some translation unit; no diagnostic is required. [Note: See also 14.7.2. ] An exported template need only be declared (and not necessarily defined) in a translation unit in which it is instantiated. A function template declared both exported and inline is just inline and not exported.

Комментариев нет:

Отправить комментарий