가변 세분성 일일 일정으로 시간 슬롯을 모델링 한 클래스를 만들었습니다. 예를 들어 첫 번째 시간 슬롯은 30 분이지만 두 번째 시간 슬롯은 40 분, 첫 번째 사용 가능한 슬롯은 (1과 비슷한 값으로) 시작합니다.C++ : 클래스의 최대/최소 한계 정의
지금하고 싶은 것은이 클래스에서 허용되는 최대 및 최소 허용 값을 어떻게 든 정의하는 것입니다. 두 가지 실질적인 질문이 있습니다. do :
1. 맞춤 클래스에 대해 절대 최소값과 최대 값을 정의하는 것이 이치에 맞습니까? 또는 클래스의 정의 된 관계 연산자가 min을 정의하도록 주어진 값이 항상 다른 유형의 가능한 값보다 낮게 비교하는 것으로 충분합니까?
2. 이전 질문에 "예"(또는 "그렇지만 ...")를 모델로 한 대답이 있다고 가정하면 은 최대/분을 어떻게 정의합니까? 나는 std::numeric_limits<>
이 있다는 것을 알고 있지만, 내가 읽은 것은 "숫자 형"을위한 것입니다. 이를 "숫자로 표현 된"의미로 해석 할 수 있습니까? 아니면 "숫자로 표현"또는 "정수와 일치하는 것"과 같이 더 넓은 가정을 할 수 있습니까? 결국, 날짜 클래스와 사전 클래스의 최소값과 최대 값을 정의하는 것이 타당하지만, numeric_limits
은 그러한 용도로 사용되지 않을 수도 있습니다. (나는 그것에 대해 많은 경험이 없습니다). 또한 numeric_limits
에는 많은 회원과 정보가있어서 무엇을 만들지 모르겠습니다. 이이 아니면 numeric_limits
을 사용하면 C++에서 클래스에 사용할 수있는 값의 범위를 나타내는 다른 잘 알려진 널리 사용되는 메커니즘은 무엇입니까?
답변을 주셔서 감사합니다. 그리고 네, 저는 때때로 너무 장황하다고 생각합니다. 그러나 당신은 그것에 문제가없는 것 같았고 제가 가고 싶었던 곳에 정확하게갔습니다. 예, "내 수업의 도메인에 대해 단정적"으로하고 싶습니다. 나는 asserts를 사용하는 데 많은 어려움을 겪지 않거나 코드를 망치지 않기 위해 시도하거나 잡으려고한다. 나는 단지 두 가지를 원한다. 즉 내 클라이언트에게 같은 (또는 비슷한) 정보를 제공 할 수 있어야한다. 그들은 또한 그에 따라 결정을 내릴 수 있으며 그 정보는 자연스럽게 제공 될 수 있습니다. 일반적인 유효성 검사 인터페이스를 제공하는 데 도움을 주셔서 감사합니다. – luismachuca