vector::erase is generally an inefficient operation.
Created by: chengduoZH
Because vectors use an array as their underlying storage, erasing elements in positions other than the vector end causes the container to relocate all the elements after the segment erased to their new positions. This is generally an inefficient operation compared to the one performed for the same operation by other kinds of sequence containers.
So the conv_op.h code maybe be inefficient.