That doesn't help significantly, since you only save the final <i>O(k)</i> dereferences.  The situation (small <i>k</i>) where it's practical to allocate a ring buffer like this is exactly the situation where it isn't useful.