У меня есть struct
, назовем его struct foo
, к которому я хотел бы добавить переменную atomic_flag
. До сих пор я calloc
использовал структуру, учитывая, что в основном она должна быть инициализирована нулями.
Как мне инициализировать atomic_flag
член?
struct foo{
//...
atomic_flag a_flg;
//...
};
struct foo *foop = calloc(1,sizeof *foop);
if(!foop) return -1;
//should I be giving up `calloc` (/`malloc`+`memset`) in favor of `malloc`+this?
*foop = (struct foo){ ATOMIC_FLAG_INIT };
Edit:
Я обнаружил, что это связано DR # 421 от Jens Gustedt , в котором предлагается, чтобы нулевая / стандартная инициализация выполнялась только для atomic_flag
с. Как я могу узнать, принято ли это?