почему заголовочные файлы STL не имеют никакого расширения?

Исправлено, удаляя сторонние библиотеки из папки libs.

Первоначально я пытался собрать jar-файлы ActionBarSherlock и MenuDrawer, используя ant, но это не сработало.

Удаление этих jar-файлов из каталога libs исправило ошибку

11
задан Community 23 May 2017 в 10:26
поделиться

1 ответ

  • Директива #include не различает типы файлов (это просто прославленная операция копирования и вставки) - автоматического добавления .h не происходит.
  • Стандартные заголовочные файлы C ++ предоставляются без расширение .h
  • Иногда файлы заголовков обратной совместимости предоставляются поставщиком с тем же именем, но с добавленным расширением .h

Все это связано с пространствами имен. Копии .h для стандартных заголовков C ++ обычно # включают правильный стандартный заголовок C ++ (без расширения .h), а затем выдают несколько команд using (что-то вроде этого):

ФАЙЛ: iostream.h

#include <iostream>

using std::iostream;
using std::ostream;
using std::ios;
...

, тогда как заголовочный файл без расширение .h не загрязняет пространство имен всеми определенными классами и типами.

10
ответ дан 3 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: