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

Тип контейнера как параметр шаблонной функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кодирующие контейнеры? http://www.cyberforum.ru/cpp-beginners/thread919126.html
Существуют ли контейнеры, которые позволяют хранить N элементов за memory<O(N)? Именно на ходу. Скорость не так важна.
C++ Хвостовая рекурсия int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(n - 1, acc * n); } int factorial (int n) { return fac_times (n, 1); }. Можно ли в хвостатом факториале избавиться от вспомогательной функции? Как? http://www.cyberforum.ru/cpp-beginners/thread919106.html
C++ Контур пятиконечной звезды в программе Dev C++ 5.4.2
Здравствуйте, помогите пожалуйста сделать задание: нарисовать контур пятиконечной звезды средствами языка с++ Только нужно работать именно с новыми компиляторами (как Dev C++ 5.4.2) Заранее спасибо!
C++ TRY/CATCH
Здравствуйте! У меня есть: MASS; для простоты пояснения, x=rand();y=rand(),znacheniye=rand(); Как игнорировать ошибки доступа? TRY{MASS=znacheniye;} catch(...){}
C++ функция удаления и добавления элементов. что не так с програмой? http://www.cyberforum.ru/cpp-beginners/thread919084.html
#include <iostream> using namespace std; struct node{ double a; double b; node *next;}; node *head= NULL; node *p, *tail; void add(int n){ int i;
C++ Ошибки в коде, Borland C++ 3.1 Добрый день! Подскажите пожалуйста, в коде 2 ошибки, не понимаю как их исправить. #include <iostream.h> #include <iomanip.h> #include <stdlib.h> #include <time.h> const int size = 20; const int hor = 10, ver = size; void bucketSort(int); подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.07.2013, 19:51     Тип контейнера как параметр шаблонной функции
boost::type_erasure

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
template<class C, class T>
struct has_push_back
{
    static void apply(C& cont, const T& arg) { cont.push_back(arg); }
};
 
namespace boost {
namespace type_erasure {
template<class C, class T, class Base>
struct concept_interface<has_push_back<C, T>, Base, C> : Base
{
    void push_back(typename as_param<Base, const T&>::type arg)
    { call(has_push_back<C, T>(), *this, arg); }
};
}
}
 
using namespace boost::type_erasure;
 
template<typename T>
ifstream fill_v(any<has_push_back<_self, T>, _self&> v, const string& from)
{
    ifstream ifs(from);
    if (!ifs) throw runtime_error("can't open input file");
 
    T itm;
    while (ifs>>itm) 
        v.push_back(itm);
    return ifs;
}
 
Текущее время: 12:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru