Время жизни переменных, которые передают в область захвата(в квадратные скобки) лямбды-функции по значению.
Не смог придумать нормальный пример. Вымышленный код:
QVector<SomeClass*> objs = initObjs();
for (int i = 0; i < objs.size(); ++i) {
// SomeClass::signal(QString)
connect(objs[i], &SomeClass::signal, this, [this, i] (QString msg) { qDebug() << i << msg; });
}
В этом участке кода я хочу от массива объектов выводить сообщения, с индексом объекта. Это должно работать? Пример вывода, который я ожидал бы увидеть:
0 i'm obj with index 0
6 signal from obj[6]
2 some msg
Объекты, переданные по значению в список захвата лямбда-выражения, копируются в результирующий объект-замыкание, и их время жизни совпадает с временем жизни объекта-замыкания.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В общемЕсть задача Так же есть вот такой код размещения '*' Число логически в голове крутится версия проще ( с помощью abs()) Но никак не могу продумать...
В С++ для атрибутов класса можно задавать свойства, шаблон определения которых -
Пытаюсь в конструкторе B вызвать слот A::toExit()Как исправить ошибку?