The existing official h5c++ wrapper is outdated and incomplete. E.g. it doesn't support std::string and seamless conversion between user defined struct and h5 compound type. Thus requires somewhat tedious boilerplate code on user end.
https://github.com/steven-varga/h5cpp11 seems to tackle all those as well as armadillo data structure support