C++ でマトリックス クラスがあり、コンストラクターは次のとおりです。
template <typename T> CMatrix<T>::CMatrix(unsigned int varrow,unsigned int varcolumn)
{
//Lets set member variables
this->m_row=varrow;this->m_column=varcolumn;
//Create a place holder at heap
m_matrix=new T[varrow*varcolumn];
//
unsigned int i=0;
//
//Default matrix All elements are zero
for(i=0;i<varrow*varcolumn;i++)
{
m_matrix[i]=T();
}
//
}
次のように set メソッドと get メソッドを実装しました。
void SetCellValue(unsigned int row,unsigned int col,T value){ m_matrix[row*m_column+col]=value;}
T& GetCellValue(unsigned int row,unsigned int column) const{return m_matrix[row*m_column+column];}
マトリックス クラスは Lua からアクセスできます。ただし、Lua からマトリックスの要素にアクセスできる唯一の方法は、m がマトリックスの場合、m:GetValue または m:SetValue です。
m[1,2] または m(1,2) という表記で行列要素にアクセス (設定) できるかどうかを知りたいです。ここで、m は行列、[1,2] は最初の行の要素であり、 2列目。