using snd_pcm_T = std::unique_ptr< snd_pcm_t, decltype([](void* ptr){snd_pcm_close(ptr);}) >; auto pcm_handle = snd_pcm_T(snd_pcm_open(...));