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

Указатель на std::vector - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Intel раздаёт библиотеки по Community лицензии http://www.cyberforum.ru/cpp-beginners/thread1520260.html
Тема носит информативный характер. Представитель компании Intel на всем известном ресурсе заявил о выходе Community-версий следующих библиотек: Intel® Math Kernel Library (Intel® MKL) Intel® Data Analytics Acceleration Library (Intel® DAAL) Intel® Integrated Performance Primitives (Intel® IPP) Т.е. сейчас Вы их можете скачать и использовать абсолютно бесплатно. Подробности программы на...
C++ Вывод строк в случайном порядке Здраствуйте. Нужно выводить строки в случайном порядке неопределенное количество раз. Т.е. к примеру, я создам переменных типа string и вот содержимое этих переменных нужно выводить в случайном порядке. Не прошу код, просто как это реализовать? что использовать? функции какие-то? http://www.cyberforum.ru/cpp-beginners/thread1520242.html
C++ Не создается файл
#include "iostream" #include "ctime" #include "cstdlib" #include "string.h" #include "fstream" using namespace std; class create{ public: void createfile(){ ofstream ofs("C://Пользователи/User/Рабочий стол/file.txt");
C++ В классе Date сделать так, чтобы IncrementDate принимал параметром отрицательное значение
Используйте класс Date. Он принимает число дней в диапазоне 0-365, добавляет его к текущей дате и возвращает объект, имеющий новую дату. Сделайте так, чтобы параметр для IncrementDate мог принимать отрицательные значения. Помогите разобраться. Получается, у нас есть в классе текущая дата, переменная, отвечающая за прибавление дней, и IncrementDate - результат сложения. Получается так, или я...
C++ Что означает node*& ? http://www.cyberforum.ru/cpp-beginners/thread1520227.html
void del_all(node*& r) //удаление всех узлов { if (!r) return; del_all(r->left); del_all(r->right); delete r; r = NULL; }Подскажите, пожалуйста, что означает "*&"?
C++ Как инициализировать переменные? Здравствуйте. Где можно полно осведомиться о том как инициализируются переменные в C++ для каждого типа? подробнее

Показать сообщение отдельно
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2139 / 972 / 223
Регистрация: 30.11.2013
Сообщений: 3,241
27.08.2015, 20:33  [ТС]     Указатель на std::vector
Цитата Сообщение от Nick Alte Посмотреть сообщение
тут
Я думаю в вопросе темы передавать уже указатель на базовый тип предиката, внутри базы определять, что пришло (тут у меня кастыль-кастылём, но лучше вариант не могу придумать, а некоторые лиж бы ... в этой теме). Да решения слабое, но какое могу додумать


Кликните здесь для просмотра всего текста
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
using namespace std;
 
class Foo
{
    int _x;
public:
    Foo()
    {
        _x = rand() % 30;
    }
    int get() const
    {
        return _x;
    }
};
 
 
class Seach
{
public:
    bool operator()(Foo* ptr)
    {
        return this->fakeCall(ptr);
    };  
    virtual bool fakeCall(Foo* ptr) = 0
    {
 
    }
};
class Seach1 : public Seach
{
public:
    bool operator()(Foo* ptr)
    {
        return this->fakeCall(ptr);
    };
    virtual bool fakeCall(Foo* ptr) override
    {
        int r = ptr->get();
        cout << "seach1 : " << r << endl;
        return true;
    }
};
class Seach2 : public Seach
{
public:
    bool operator()(Foo* ptr)
    {
        return this->fakeCall(ptr);     
    };
    virtual bool fakeCall(Foo* ptr) override
    {
        int r = ptr->get();
        cout << "seach2 : " << r << endl;
        return true;
    }
};
 
class Base
{
private:
    std::vector<Foo*>   arr;
 
public:
    Base()
    {
        for(int i = 0; i < 10; i++)
        {
            arr.push_back(new Foo());
        }
    }
    int seach(Seach* cond)
    {
        if(dynamic_cast<Seach1*>(cond))
        {
            Seach1* temp = dynamic_cast<Seach1*>(cond);
            return std::all_of(arr.begin(), arr.end(), (*temp));
        }
        else if (dynamic_cast<Seach2*>(cond))
        {
            Seach2* temp = dynamic_cast<Seach2*>(cond);
            return std::all_of(arr.begin(), arr.end(), (*temp));
        }
    }
};
 
 
void main()
{
    srand(time(0));
    
    Base a;
 
    auto result = a.seach(new Seach1());
    //auto result = a.seach(new Seach2());
 
}



С архитектурой уже больно менять, что-то. Просто хочу почитать где-то о таких паттернах написания "выборки"
 
Текущее время: 14:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru