min(a,b) a와 b중 작은값을 리턴해주며, 같을시 첫번쨰 매개변수를 리턴한다.
max(a,b) a와 b중 큰 값을 리턴해 주며, 같을시 첫번째 매개변수를 리턴한다,.

그런데, 이것만 한다면, 그리 특별하지 않다. 하지만..

min(a,b, op) 식을 제공하기 때문에, 막강하다.
max(a,b, op) 식도 제공한다.

swap 함수는 레퍼런스로 계산해주기 때문에 막강하다.

클래스 TEST 에  int a와 int b 가 있고, 이 클래스의 객체 AAA 와 BBB가 있을때.
private 로 되어 있으면 값을 얻어와서 다시 셋팅해줘야 하지만. 클래스 내부에..
swap(_T& a)
{
std::swap(자기변수, a.상대변수);
std::swap(자기변수, a.상대변수);
} 라고 해 두고..


함수객체건, 함수던 만들어서
good(_T& a, _T& b)
{
    a.swap(b);
}

라고 하면 끝, 성능도 값에 의한 전달보다 매우 빨라진다.


연산속도가 빠르다고해서, 간과하지 말아야 한다. 100만번과 1000만번은 엄청 큰 차이가 날테니..



신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요