У меня есть QLocalServer в Qt5, который подключен к сигналу newConnection()
.Qt5, лямбда и область видимости
Этот сигнал вызывает эту функцию:
QLocalSocket *clientConnection = m_server->nextPendingConnection();
clientID++; // <--- declared in header
clientConnection->setProperty("ID", QVariant(clientID));
connect(clientConnection, &QLocalSocket::disconnected, [clientConnection](){
qDebug() << "Client disconnected " << clientConnection->property("ID");
clientConnection->deleteLater();
});
Если два клиента (идентификатор клиента 1 и идентификатор клиента 2) подключить один за другой, а затем клиент 1 расцепители, что будет происходить внутри лямбда-функции? Я имею в виду, что после того, как второй клиент подключился, что произойдет со значением clientConnection
? Будет ли он завышен (так что clientConnection
первого клиента больше не будет действителен) или у каждого будут действительные данные?
Хорошо, спасибо :) – alexandernst