Найти слабый_птр в векторе

Вы можете использовать {% extends variable%}

Передавать имя базового шаблона переменной при создании контекста в представлении.

http: // docs .djangoproject.com / о / DEV / реф / шаблоны / встроенные функции /? с = olddocs # продолжается

0
задан Oleg 18 March 2019 в 16:55
поделиться

1 ответ

Я уверен, что вы имели в виду std::find_if (который принимает предикат), а не std::find (который принимает значение ).

Также, исправляя ваше условное выражение в конце и добавляя соответствующий шаблон, мы получаем:

#include <vector>
#include <memory>
#include <iostream>
#include <algorithm>

struct Car {};

int main()
{
    std::vector<std::weak_ptr<Car>> cars;

    std::shared_ptr<Car> lambo = std::make_shared<Car>();
    std::weak_ptr<Car> wPtr(lambo);
    cars.emplace_back(lambo);

    const auto pos = std::find_if(cars.begin(), cars.end(), [&wPtr](const std::weak_ptr<Car>& ptr1) {
        return ptr1.lock() == wPtr.lock();
    });

    if (pos == cars.end())
        std::cout << "Not found!" << std::endl;
    else
        std::cout << "Found!" << std::endl;
}

// Output: Found!

( live demo )

0
ответ дан Lightness Races in Orbit 18 March 2019 в 16:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: