string swapLettersUpdated(string s, char c1, char c2) {
transform(s.begin(), s.end(), s.begin(), [&c1, &c2](char c) {
return c == c1 ? c2 : c == c2 ? c1 : c;
});
return s;
}
I have problems understanding the [&c1, &c2](char c) part and the part after return. It is a function that swaps letters.