Не используйте голые массивы Си.Это C ++, мы можем сделать намного лучше:
#include <tr1/array> // or <array> if you're in MSVC or GCC
typedef std::tr1::array<float, 16> myfloats;
int main()
{
myfloats a, b;
a[0] = /* ... fill the array */
b = a; // done
}
Вы также можете поместить массив в структуру вашей матрицы:
struct mat4
{
typedef std::tr1::array<float, 16> myfloats;
myfloats & data() { return m_data; }
mat4(); /* ... etc. ... */
private:
myfloats m_data;
};
Вы должны иметь возможность просто назначать переменные типаmat4
друг другу напрямую!