ок, а как мне добавить интерфейс к std::vector чтобы я мог передавать вектор в функции которые от него ожидают чего-то? Например, в сишарпе нет интерфейса для чисел. Как мне написать интерфейс IAdd и реализовать для всех чисел?
ну воспользуйся любым из указанных. Думаю, лучшим совпадением чаще всего будет IComparable