Форум программистов, компьютерный форум CyberForum.ru

Что за пустые шаблоны template <> struct/inline? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра "Жизнь"; Нужно, чтобы первое поколение задавалось оператором (с клавиатуры) http://www.cyberforum.ru/cpp-beginners/thread1223390.html
Нужна помощь с решением задачи "Жизнь" на с++ Есть код программы, которая задает первое поколение колонии случайным образом. Но мне нужно, чтобы первое поколение задавалось оператором(с клавиатуры). Пробовал ввести массив в начало задачи, дает ввести только первое значение массива. Очень нужна помощь. Вот текст задачи: // ConsoleApplicationIgra.cpp: определяет точку входа для...
C++ Проверка на ввод Есть переменная целочисельная ввожу ее с клавиатуры , но когда ввожу букву нажимаю enter вываливает ексепшын. Нашел функцию isdigit , попытался сделать так one: cout<<"Enter X_start:"<<endl; cin>>X_start; if(isdigit(X_start)==false){ goto one;} Но оно не отлавливает , возможно это можно сделать с помощью try catch? http://www.cyberforum.ru/cpp-beginners/thread1223345.html
C++ Объединение функций, которые выводят внешне вершины дерева
Здравствуйте. Вот у меня есть 2 функции, которые выводит внешне вершины дерева, (одна правые, другая левые). void Tree::Vnesnie_versini_r(TreeNode *v, int level) { if (v!=NULL) { Vnesnie_versini_r(v->right, level+1); IndentBlanks(6*level); cout << v->data << endl; } }
C++ Создание стека по примеру из учебника Лафоре. Что означает top = -1?
Здравствуйте, помоги разобраться. Это пример из учебника Лафоре ООП С++. Не могу понять почему когда в конструкторе Stack() {top = -1} все работает нормально, а когда top = 0, то работает не корректно. Конкретно интересует что означает top = -1, это что индекс массива который начинается со значения которое меньше 0 и как оно связано с количеством элементов в массиве MAX = 4, ведь по сути начало...
C++ Определить количество комбинаций разноцветных полосок, расположенных по определенной схеме http://www.cyberforum.ru/cpp-beginners/thread1223294.html
Задание:В День флага России владелец магазина решил украсить свою витрину полосками ткани белого, синего и красного цветов. Он хочет, чтобы выполнялись следующие условия: Полоски одного цвета не должны располагаться рядом друг с другом. Синяя полоска может быть расположена только между белой и красной или между красной и белой. Определите количество способов выполнить желание владельца...
C++ Член класса управляемый не может относиться к типу класса не управляемый "член класса управляемый не может относиться к типу класса не управляемый" Не могу понять что делать с этой ошибкой и как исправить подробнее

Показать сообщение отдельно
ohos
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 9

Что за пустые шаблоны template <> struct/inline? - C++

06.07.2014, 16:11. Просмотров 643. Ответов 4
Метки (Все метки)

что за пустые шаблоны template <> за которыми следуют class/struct/inline?

По многочисленным источникам в c++ шаблоны имеют вид, цитата с википедии:

Шаблон функции начинается с ключевого слова template, за которым в угловых скобках следует список параметров. Затем следует объявление функции:

C++
1
2
template< typename T > 
void sort( T array[], int size );  // прототип: шаблон sort объявлен, но не определён

однако недавно встретил запись вида

C++
1
2
3
4
5
6
7
8
9
10
11
// if we don't have a held type, return the destructor of the raw type
        template<>
        struct internal_const_holder_destructor<detail::null_type>
        {
            typedef void(*destructor_t)(void*);
            template<class T>
            static destructor_t apply(detail::type_<T>)
            {
                return 0;
            }
        };
притом запись template <> я не смог найти:

в интернете (полагаю гугл просто не ищет спец символы заключенные в кавычки типо "<>")
книге строуструпа за 2011 в djvu
на странице строуструпа http://www.stroustrup.com/

зато поиском по странице строуструпа нашел интересный файлик для его студентов

http://www.stroustrup.com/Programmin...b_facilities.h

где используется точно такой же способ записи

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifdef _MSC_VER
#include <hash_map>
using stdext::hash_map;
#else
#include <ext/hash_map>
using __gnu_cxx::hash_map;
 
namespace __gnu_cxx {
 
    template<> struct hash<std::string>
    {
        size_t operator()(const std::string& s) const
        {
            return hash<char*>()(s.c_str());
        }
    };
 
} // of namespace __gnu_cxx
#endif
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru