Как называется заголовочный файл для создания универсальных классов с использованием кровопролития dev-c ++? - PullRequest
0 голосов
/ 02 апреля 2012

Я пытался использовать #include <generic> и #include <generic.h>, но они не распознаются.Я пытался обратиться к руководству, но оно мне не помогло.

Так что кто-нибудь знает правильное имя для этого заголовочного файла, используя Bloodshed Dev-C ++?

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

<generic.h> - это заголовок из древнего, предварительно стандартного C ++. На самом деле он старый даже по сравнению с предстандартным C ++. Я использовался еще тогда, когда C ++ был просто прекомпилятором поверх C. Даже если бы вы могли найти компилятор, который все еще поддерживал это, его использование не было бы хорошей идеей, и вы не изучали бы C ++, как он существует сегодня.

Любая книга, в которой упоминается <generic.h>, вероятно, устарела на двадцать лет. Вместо этого вам следует выбрать книгу из The Definitive C ++ Book Guide и List . Если вы только учитесь программировать, я рекомендую Программирование: принципы и практика с использованием C ++ . Если вы уже знакомы с программированием на других языках, тогда Ускоренный C ++ должен подойти.

Последняя версия Dev-C ++ также очень старая (хотя и не столь же старая, как <generic.h>), и более новые, намного лучшие, компиляторы и IDE доступны бесплатно. Если вы используете Windows, тогда бета-версия Visual Studio 11 должна быть вашим первым выбором. (при условии, что вы не используете древнюю версию Windows ...)

2 голосов
/ 02 апреля 2012

C ++ не имеет обобщений, подобных Java и C #. В C ++ есть аналогичная функция, называемая templates , но для этого нет специальных заголовков. C ++ поддерживает шаблоны по своей природе . Вы можете использовать типы шаблонов и функции, указав их имена вместе с типом аргумента шаблона в угловых скобках:

#include <vector>

// declare a variable of type std::vector<int>
std::vector<int> vector_of_ints;

#include <vector> - сообщить компилятору о классе шаблона std::vector, а не сообщать компилятору о том, как использовать шаблоны в целом.

Вы можете определить новые типы шаблонов и функции с помощью ключевого слова template:

// declare a function accepting and returning a type to be determined later
template <typename T>
T add_one(T x) {
  return x + 1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...