Are there any data structures in C++ that are able to insert and remove elements at any given index (not necessarily first or last) at the time complexity of O(1)?
No. But you can’t do this in Java either.
Rope (Implicit cartesian tree in GNU C++ STL. - Codeforces) allows arbitrary insertions, removals, and index accesses in O(\log N).