Ну, одно практическое использование, которое я обнаружил, - это уменьшение кодовой таблички. Например:
void process_z_vec(vector<int>& vec)
{
auto print_2d = [](const vector<int>& board, int bsize)
{
for(int i = 0; i<bsize; i++)
{
for(int j=0; j<bsize; j++)
{
cout << board[bsize*i+j] << " ";
}
cout << "\n";
}
};
// Do sth with the vec.
print_2d(vec,x_size);
// Do sth else with the vec.
print_2d(vec,y_size);
//...
}
Без lambda вам может понадобиться сделать что-то для разных случаев bsize
. Конечно, вы могли бы создать функцию, но что, если вы хотите ограничить использование в рамках функции пользователя души? характер lambda выполняет это требование, и я использую его для этого случая.
Я бы использовал стиль td элемента наведения вместо tr . Например:
tr.fullrow:hover td{
background:yellow;
font-size:16px;
}
Для части CSS попробуйте следующее:
tr.fullrow:hover{
background-color:yellow;
font-size:16px;
}
См. Этот пример: https://codepen.io/pjamourik/pen/EGBgEy