wrapper for constructing, removing and handling with semaphores

No lo vi esto ayer, pero en C++ no es necesario agregar el keyword struct adelante de una declaración de variable de tipo struct (lo mismo para union). Podés hacer directamente `semid_ds buf;`.