Why is this using calloc instead of new?