1. Небольшой доклад про нахождение медианы с CppCon 2023.
2. TDD CANNOT work.
Какой-то околоформальный наброс, но и ладно : )
3. У Жени вышел очередной (и очень интересный) пост про жостиков C++.
4. Небольшой факт про макросы (в целом писал про них тут).
Если макросы у вас сложные, как этот:
MACROS_NAME(name, name,
[]() {
Type obj {.x = 2, .y = 3};
return x;
}()
);
вы можете захотеть использовать designated initialization. Проблема тут в том, что когда аргументов больше одного, вам нужно перечислять их через запятую. И это не работает!
Компилятор считает, что эта запятая -- разделитель аргументов макроса. Т.е. вы передаёте 4 аргумента:
name
name
[]() { Type obj {.x = 2
.y = 3}; return x; }()
Что не выглядит как ожидаемый результат.
Такая же проблема в случае, когда вы хотите шаблоны юзать:
MACROS(std::map<int, int>);
Запятая не считывается как разделитель аргументов макроса только внутри круглых скобок.
Вы всегда можете поправить : )