Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что означают дефисы в начале названия переменных в лямбде? ( -lhs_docid, -rhs_docid)

vvv Профи (754), закрыт 2 года назад
#include "test_runner.h"

#include
#include
#include
#include

using namespace std;

int main(){
vector<pair> data = {
{1, 2},
{2, 3},
{3, 4},
{4, 5}
};
sort(
begin(data),
end(data),
[](pair lhs, pair rhs) {
int64_t lhs_docid = lhs.first;
auto lhs_hit_count = lhs.second;
int64_t rhs_docid = rhs.first;
auto rhs_hit_count = rhs.second;
return make_pair(lhs_hit_count, -lhs_docid) > make_pair(rhs_hit_count, -rhs_docid);
}
);
for(const auto& [k, v] : data){
cout << k << " " << v << endl;
}
return 0;
}
Лучший ответ
Дед Мазай Гений (58109) 2 года назад
Знак минус. Операция унарный минус. Изменяет знак числа на противоположный. Как в математике.
Остальные ответы
А Мудрец (14638) 2 года назад
Минус
Ник НАрМыслитель (8929) 2 года назад
Ахахаах порвало. И дело даже не в ответе, а в абсурдности вопроса.
Похожие вопросы