Есть библиотеки векторной математики, которые вы можете получить, и некоторые из них бесплатны для использования в академических кругах c.
Свернуть свою собственную не сложно, но вам нужно создать свой собственный класс он содержит std :: array или std :: vector, предоставляет методы пересылки, которые могут вам понадобиться (например, индекс массива), и математические перегрузки по мере необходимости. В идеале это должен быть шаблонный класс, такой как std :: array, так что вы можете указать измерение во время компиляции, как в настоящее время.
Не стоит добавлять перегрузки операторов в стандартные контейнеры для целочисленных типов, так как вы никогда не знаете, какой другой код вы можете скомпилировать, если он содержит тот же контейнер, и вы получите sh.