Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не удается найти файл .exe Поставил по учебе С++ 2010 года, ввожу типичный код #include <iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; } выдает ошибку что не может найти... https://www.cyberforum.ru/ cpp/ thread2047198.html нужна формула пересечения 3D вектора со стеной 3D треугольника в виде кода C++ C++
Нужен код формулы, помогите!
C++ Необработанное исключение Необработанное исключение по адресу 0x75BF3952 (ucrtbase.dll) в System.exe: Недопустимый параметр был передан функции, для которой недопустимые параметры вызывают неустранимую ошибку. Вот часть... https://www.cyberforum.ru/ cpp/ thread2045252.html C++ Использование MPI в C++ Я только начал изучать MPI и написал код для перемножения матрицы на вектор с распараллеливанием: #include "mpi.h" #include <iostream> #include <fstream> using namespace std; int main(int... https://www.cyberforum.ru/ cpp/ thread2045248.html
Как сделать округление/отбрасывание ненужных цифр после запятой? C++
Как сделать округление/отбрасывание ненужных цифр после запятой? Вот например код: double a = 14.55, b = 14.29, c = 12.0, G; G = ((a + b)*c) / 60; cout << "G = ((a+b)*c) / 60 = ((" << a << "...
C++ Представления movzx в c++ коде Как данный код будет выглядеть в c++ коде ? @@Base: dw 139, 533, 737, 946, 1346, 4325 @@To1: xor eax, eax cmp ecx, 7 jae @@Exit movzx edx, word ptr https://www.cyberforum.ru/ cpp/ thread2044302.html
C++ Что можно использовать для выполнения моей задачи? Суть вопроса в том, что нужно просканировать пиксель, либо область пикселей на наличие определённого цвета, если его нет - выполнить определённые движения мыши а также её нажатия. Какие библиотеки и... https://www.cyberforum.ru/ cpp/ thread2044242.html Переделать программу, чтобы она выполнялась без использования примитива синхронизации Mutex C++
Необходимо переделать программу так, чтобы она выполнялась без использования примитива синхронизации Mutex. Есть идеи? Буду рад любой помощи. #include <iostream> #include <mutex> #include...
C++ Многопоточность OpenGL https://www.cyberforum.ru/ cpp/ thread2044225.html
Добрый день. Пишу небольшую копию Майнкрафта на C++/OpenGL/SFML. Решил вынести отрисовку карты(кубов) в отдельный поток. Но в отдельном потоке не отрисовывается. Может сталкивался кто-то,...
C++ C++ Задача, нужно сейчас, така как времени мало https://www.cyberforum.ru/ cpp/ thread2043787.html
Website chefforces.at has just published a schedule of contests for the next year! There will be n contests and no changes in the schedule. Oleg got really excited and decided to maximize the fun....
Чтение и сохранение изображений PGM C++
Здравствуйте, я написал программу рисующий куб в расширении "graphics.h". Теперь по заданию мне надо этот куб сохранить в формате PGM (https://en.wikipedia.org/wiki/Netpbm_format) - простой...
C++ Многомерная оптимизация методом штрафных функций на С++ Доброго дня суток. Возникла проблема. Нужно выполнить 2 задания условной оптимизации методом штрафных функций с помощь ю метода Ньютона. Код который делает минимизацию методом Ньютона написан. как... https://www.cyberforum.ru/ cpp/ thread2043656.html
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 2
0

Шаблоны и ссылки. Promise<T>, Future<T> - C++ - Ответ 10794274

01.10.2017, 18:02. Показов 791. Ответов 2
Метки (Все метки)

Дали задание написать Promise<T> и Future<T>. Сделал у обоих shared_ptr на структуру, в которой лежат общие для них данные. Написал, все работает нормально, но возникают проблемы, когда в качестве аргумента шаблона дать ссылку, например Promise<int &>. Получается, что Value(устанавливаемое set) является ссылкой, которая ни на что не ссылается и возникает ошибка при компиляции. Кроме того появляются проблемы с set (в общем все плохо =)). Возможно ли как-то отловить подобные случаи, или сделать так, что бы всегда работало?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Promise.h
 
template <typename T>
struct sharedVariables {
    T value;
    std::condition_variable check;
    bool valid;
};
 
template <typename T>
class Promise {
public:
    Promise();
    Promise(const Promise<T>&) = delete;
    Promise(Promise<T>&&) = default;
    void set(const T &);
    void set(T&&);
    Future<T> getFuture();
private:
    std::shared_ptr<sharedVariables<T> > attributes;
    bool isAdd = false;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Future.h
 
template<typename T>
class Promise;
 
template<typename T>
struct sharedVariables;
 
template <typename T>
class Future {
public:
    Future(const Future<T>&) = delete;
    Future(Future<T>&&) = default;
    const T & get();
    void wait();
    bool isReady() const;
    friend Future<T> Promise<T>::getFuture();
private:
    Future() {};
    std::shared_ptr<sharedVariables<T> > attributes;
};
C++
1
2
3
4
5
6
7
//main
 
void main() {
    int b = 5;
    Promise<int &> pr;
    system("pause");
}
Ошибки: 1) void Promise<int &>::set(T): функция-член уже определена или объявлена
2) sharedVariables<T>::value: ссылки должны быть инициализированы

Вернуться к обсуждению:
Шаблоны и ссылки. Promise<T>, Future<T> C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2017, 18:02
Готовые ответы и решения:

Построение архитектуры асинхронного кода через future/promise
Всем привет Недавно размышлял над двумя путями реализации асинхронного кода : с помощью...

C++ 11 многопоточность Future и promise
Всем Привет!!! Пытаюсь разобраться уже несколько дней, пока не получается, не могу понять как же...

Promise, два ajax запроса, задать очередь выполнения запросов, цепочка promise
Добрый день, уважаемые форумчане! Помогите разобраться с цепочкой promise. Суть проблемы: Есть...

I am doing for the future
Объясните, по каком правилу тут используется I'm not healing, а не I won't heal. В Мерфи про...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2017, 18:02

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по...

Cry Me A Future
здравствуйте! &quot;cry me a river&quot; я нашёл как переводить а вот cry me a future )))))))))) там...

Чем отличаются шаблоны HTML и шаблоны WordPress
В чём различие между шаблонами HTML и WordPress. Кроме того, что создаются они разными способами....

ExecutorService, ArrayList<Future<>>
Такой вот код, получаю nullPointException на строчке FutureCount.add(pool.submit(new...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.