Код: Выделить всё
void runWorkManager(DataSet& data)
{
bool bAbort = false;
callWorkerFuncFromNewThread(data, &bAbort);
while(!(data.isWorkCompleted || data.isWorkAborted))
{
updateGuiWithProgress(data.progress);
if(userWantsToAbort())
bAbort = true;
}
}
void workerFunc(DataSet& data, bool const *const pbAbort)
{
data.doPreWork();
if(*pbAbort) //Check #1
{
data.isWorkAborted = true;
return;
}
for(int i = 0; i < 100; ++i)
{
data.doWorkN(i);
if(*pbAbort) //Check #2
{
data.isWorkAborted = true;
return;
}
}
data.isWorkCompleted = true;
}
Стандарт C++ 11 версии 7.1.6.1.3 гласит:
Указатель или ссылка на тип с указанием cv не требуется на самом деле укажите или обратитесь к квалифицированному резюме объект, но он рассматривается так, как будто это так; путь доступа с указанием const не может использоваться для изменения объекта, даже если указанный объект не является константным и может быть изменен с помощью другого пути доступа.
К сожалению, это утверждение не совсем отвечает на мой вопрос.
Подробнее здесь: https://stackoverflow.com/questions/271 ... ng-or-just
Мобильная версия