2010-01-20 8 views

답변

0

검색에서 올바른 것으로 보인다; 그러한 기능을 갖고 있지 않은 것처럼 보입니다.

0

이 기능이 정말로 필요한 경우 매트릭스를 서브 클래 싱하고 연산자()를 재정 의하여 색인을 작성하도록 고려할 수 있습니다. 예를 들어 최근에

using namespace boost::numeric::ublas; 

template<typename T> 
class Reindexable : public matrix<T> 
{ 
public: 
    Reindexable() : m_offset(0) {} 

    void reindex(int offset) { m_offset = offset; } 

    T& operator()(int i) { return matrix<T>::operator()(i + m_offset); } 

    /* Probably more implementation needed here ... */ 

private: 
    int m_offset; 
} 

내가 VB.NET에서 봤는데 프로그래밍 (! ughh) 및 C#, 그래서 난 내 C++ 구문에 약간 녹슨이야 아마 위의 몇 가지 실수를했지만, 일반적인 아이디어가 효과가있다. 다시 인덱스 연산을 제공하고 괄호 연산자를 재정의하여 새 인덱스 오프셋을 인식 할 수 있도록 행렬을 서브 클래 싱합니다. 물론 실제 구현에서는 매트릭스의 각 차원에 대한 오프셋이 필요합니다.

Reindexable에 대한 참조 또는 포인터가 있고 참조/포인터의 유형이 matrix<T> 인 경우 이전 색인 연산자를 사용하므로주의해야합니다.

관련 문제