GOOGLE ADS

четверг, 5 мая 2022 г.

Двойное отрицание в C++

Я только что наткнулся на проект с довольно большой кодовой базой.

Я в основном имею дело с C++, и большая часть кода, который они пишут, использует двойное отрицание для своей логической логики.

if (!!variable && (!!api.lookup("some-string"))) {
do_some_stuff();
}

Я знаю, что эти ребята умные программисты, очевидно, что они делают это не случайно.

Я не опытный эксперт по С++, мое единственное предположение, почему они это делают, заключается в том, что они хотят абсолютно точно утверждать, что оцениваемое значение является фактическим логическим представлением. Поэтому они отрицают его, а затем снова отрицают, чтобы вернуть его к его фактическому логическому значению.

Это правильно, или я что-то упускаю?


Решение проблемы

Это трюк, чтобы преобразовать в bool.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...