#c #struct
#c #структура
Вопрос:
Я хочу иметь базовую структуру, которая будет содержать только x количество переменных одного и того же типа. Это позволяет мне создавать дочерние структуры, которые можно назвать как-то иначе, например, векторной структурой или структурой позиции. Мой вопрос: есть ли способ изменить количество переменных, которые экземпляр basic_struct
будет создавать с помощью ввода функции?
Скажем:
template<typename _Ty>
struct Vector2 : basic_struct<_Ty>(2) {/*vector code here*/}
и это создаст структуру с 2 переменными, в то время как, если я укажу:
template<typename _Ty>
struct Vector3 : basic_struct<_Ty>(3) {/*vector code here*/}
это создаст векторную структуру с тремя переменными.
Заранее спасибо за информацию, которую вы можете мне дать.
Комментарии:
1. Что вы подразумеваете под «в C или C «?. Будут ли приемлемы Java или Python?
2. @cigien К сожалению, нет, мой проект на данном этапе только на C / C , и я действительно не знаю Java или Python.
3. Хорошо, затем удалите тег C из вопроса и заголовка. Также обратите внимание, что C не имеет шаблонов. Вам в значительной степени придется полагаться на макросы, чтобы сделать это за вас.
4. @cigien извините, да, я знаю, что C не использует шаблоны, и я забыл сказать выше, что проект написан на C с аспектами C.
5.
basic_struct
действительно звучит как массив. Почему бы просто не использовать массив?
Ответ №1:
Я думаю, что вы хотите std::array<T, N>
.