본질적으로 C 배열 및 길이 인 "ntuple"이라는 컨테이너가 있습니다. 주요 목적은 다차원 수학 함수의 논증입니다. 현재로서는, 정말 빨리하고 양식불필요한 경우에도 반복자를 구현 하시겠습니까? C++
ntuple(double x, double y, double z)
{
size = 3;
vec = new double[size];
vec[0] = x;
vec[1] = y;
vec[2] = z;
}
그리고 더 높은 차원, 아직 알려지지 기능을 작동 할 때마다 여러 생성자를 이용, 난 그냥 새로운 생성자를 추가합니다. 나뿐만 아니라 배열에 대해이 있습니다
는ntuple(double* invec, long unsigned insizesize)
일반 C++ 코드 내 코드를 더 호환되도록하기 위해, 나는 ntuple 반복자를 구현해야합니까? 내가 한 모든 일은 하나를 필요로했으며, 모든 일을 늦추는 것처럼 보입니다. 그러나 더 많이 읽을수록 표준 C++ 코드와의 호환성을 위해 반복자를 사용하는 것이 더 중요해집니다.
다른 사람이 내 코드로 작업하려고 할 때 사용하려고하는 표준 기술과 잘 맞지 않을까 걱정됩니다. 하지만 제 ntuple 클래스의 목적은 함수에 인수를 취하는 것입니다.
코드를 느리게하는 대신에 반복자를 예방책으로 구현해야합니까 (다른 사람이 STL을 사용하려고 시도하는 경우)?
감사합니다.
제대로 구현 된 반복자는 다른 것의 속도에 영향을주지 않습니다. –
'ntuple'이'std :: vector'이 아닌 이유가 있습니까? 그 이유가 좋은거야? –
Yakk
@Yakk 예, 내 인수가 차지하는 공간을 최소화합니다. 이 프로그램은 방정식의 방대한 시스템을 해결합니다. 수학에서 함수의 인수는 함수 전체에서 변경되지 않기 때문에 push_back이나 다른 것이 필요하지 않습니다. – user2303321