Форум программистов, компьютерный форум 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
2274 / 990 / 226
Регистрация: 30.11.2013
Сообщений: 3,291
26.08.2015, 21:35  [ТС]     Указатель на std::vector
так value же не известно в какой-то момент ((( сейчас набросаю тестовый

Добавлено через 12 минут
Кликните здесь для просмотра всего текста
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
102
103
104
105
106
107
#include <iostream>
#include <vector>
#include <memory>
#include <ctime>
#include <functional>
using namespace std;
 
class Object
{
private:
    int         m_hp;
public:
    Object()
    {
        m_hp = rand() % 100 + 20;
    }
    bool isCool() const
    {
        return true;
    }
    int healthPoint()
    {
        return m_hp;
    }
 
};
 
 
class Storage
{
private:
    std::vector<std::shared_ptr<Object>>            m_container;
public:
    Storage()
    {
        m_container.reserve(100);
        for(int i = 0; i < 100; i++)
        {
            m_container.push_back(std::shared_ptr<Object>(new Object()));
        }
    }
    template<typename Condition>
    std::shared_ptr<Object> find(Condition cond) const
    {
        auto ti = std::find_if(m_container.begin(), m_container.end(), cond);
        if(it != m_container.end())
            return *it;
        else
            return nullptr;
    }
 
};
 
class NeedToSeach
{
private:
    XXXX        m_seacher;
public:
    NeedToSeach(XXXX seacher)
    {
        m_seacher = seacher;
    }
 
 
    void foo()
    {
        std::shared_ptr<Object> ptr = m_seacher([](std::shared_ptr<Object> currentSeachTarget) {
            
            bool result = false;
            if(currentSeachTarget->isCool() && currentSeachTarget->healthPoint() >= 100)
            {
                result = true;
            }
            else if(!currentSeachTarget->isCool() && currentSeachTarget->healthPoint() >= 30)
            {
                result = true;
            }
            return result;
        
        });
    }
};
class System
{
    private:
        std::shared_ptr<Storage>            m_storage;
        std::shared_ptr<NeedToSeach>        m_needToSeach;
public:
    System()
    {
        m_storage.reset(new Storage());
        m_needToSeach.reset(new NeedToSeach(std::bind(&Storage::find<XXXX>, m_storage, std::placeholders::_1 /*для condiotional же надо тут ????*/)));
    }
 
 
    void run()
    {
        m_needToSeach->foo();
    }
 
};
void main()
{
    srand(time(0));
    System system;
    system.run();
}
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru