Как захватить члена класса члена класса в лямбда-выраженииC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как захватить члена класса члена класса в лямбда-выражении

Сообщение Anonymous »

Я пытаюсь захватить член класса определенного члена класса из функции класса для лямбда.
Чтобы уточнить: ClassA имеет член класса типа ClassB< /code>, который имеет элемент C (например, указатель). В классе A есть функция, которая присоединяет лямбду к некоторому объекту O. Лямбда должна ссылаться на C (в момент присоединения лямбды к объекту O).
Я использую более конкретный код. Где решить — это еще одна функция класса, принимающая объект Answer. i — моя управляющая переменная цикла for:

Код: Выделить всё

choices.back()->onClick([this, i] {decide(this->content->currentStep->answers[i]); });
Проблема в том, что, насколько я понимаю, я фиксирую , который является указателем, по значению (и это нормально). Насколько я понимаю, как только тело лямбда-функции выполняется, оно в этот момент разыменовывает содержимое, currentStep и ответы[]. Таким образом, если указатель содержимого изменится между установкой и выполнением лямбды, объект Answer будет отличаться от того, когда я установил лямбду.
Как будет выглядеть синтаксис например, для захвата фактической ссылки на сам ответ вместо того, чтобы начинать с this->content->...?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-lambda
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как захватить члена класса члена класса в лямбда-выражении
    Anonymous » » в форуме C++
    0 Ответы
    89 Просмотры
    Последнее сообщение Anonymous
  • Может ли лямбда-функция asio co_compose захватить этот указатель?
    Гость » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Гость
  • Ограничение явного параметра объекта в лямбда-выражении с захватом
    Гость » » в форуме C++
    0 Ответы
    48 Просмотры
    Последнее сообщение Гость
  • Переменная не может быть неявно зафиксирована в лямбда-выражении без указания значения по умолчанию [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • Как пометить параметр атрибутом в динамически создаваемом лямбда-выражении?
    Anonymous » » в форуме C#
    0 Ответы
    62 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»