연결 목록을 구현하고 있는데 목록이 비어 있으면 remove()
함수에서 무엇을 반환해야하는지 궁금합니다. 표준 링크드리스트 클래스를 살펴 보았고 목록이 비어있을 때 remove 메소드는 정의되지 않은 동작을 호출합니다. 그건 내가 원하는 일이 아니야. 표준 라이브러리에서 던져야하는 적절한 예외가 있습니까?누군가 존재하지 않는 요소를 제거하도록 요청하면 어떻게해야합니까?
0
A
답변
2
std::out_of_range
을 던질 수 있습니다. 또는 하위 클래스를 만들고 고유 한 예외 클래스를 throw 할 수도 있습니다. 표준 (n3797)에서
19.2.5.1 클래스
out_of_range
하지 예상 된 범위의 인수 값을보고하는 예외로 던져 객체의 유형을 정의합니다.
+0
나중에 custom exception을 기억 하겠지만'std :: logic_error'는 받아 들일 만합니다. 감사합니다. –
+0
감사합니다. –
관련 문제
- 1. 존재하지 않는 요소를 찾으십시오.
- 2. 아직 존재하지 않는 요소를 선택하는 jQuery
- 3. MySQL에 존재하지 않는 테이블에서 존재하지 않는 외래 키를 삭제하려면 어떻게해야합니까?
- 4. 다중 선택에서 마지막 요소를 제거하도록 사용자를 제한해야합니다.
- 5. 다른 테이블에 존재하지 않는 모든 요소를 선택하십시오.
- 6. Nokogiri가 존재하지 않는 HTML 요소를 무시하는 방법
- 7. WiX : 존재하지 않는 파일 구성 요소를 정의하십시오.
- 8. 존재하지 않는 HTML 요소를 동일시 함
- 9. 치료 중 XPath가 존재하지 않는 요소를 반환합니다.
- 10. jQuery는 페이지에 존재하지 않는 요소를 어떻게 처리합니까?
- 11. (존재하지 않는 장소에서) 맞춤 Google지도를 만들려면 어떻게해야합니까?
- 12. 존재하지 않는 모듈의 계층 구조를 조롱하려면 어떻게해야합니까?
- 13. 존재하지 않는 파일을 PHP로 다운로드하려면 어떻게해야합니까?
- 14. Automation.RawViewCondition이 존재하지 않는 (참조)
- 15. 존재하지 않는 쿼리 오류
- 16. 존재하지 않는 SQL 서버에서
- 17. 존재하지 않는 파일 이동
- 18. MySQL 5에서, 조인과 관련하여 "존재하지 않는"서브 쿼리를 작성하려면 어떻게해야합니까?
- 19. 배열의 존재하지 않는 요소가 PERL에서 참조 일 때 어떻게됩니까?
- 20. 존재하지 않는 날짜의 되풀이 날짜
- 21. 배열의 요소를 검사하고 데이터가 데이터베이스에 존재하지 않는 경우
- 22. 페이지가로드 될 때 존재하지 않는 jquery의 요소를 대체하는 방법
- 23. 이 프로그램이 존재하지 않는 목록 요소를 호출하는 것을 어떻게 중지합니까?
- 24. ID 위의 특정 클래스가 jQuery로 존재하지 않는 요소를 제거하는 방법
- 25. 요소가 존재하지 않는 경우에만 C 배열에 요소를 추가하십시오.
- 26. mysql_insert_id를 제거하도록 도와주세요
- 27. 존재하지 않는 경로에 대한 요청을 처리하는 방법
- 28. 액세스가 존재하지 않는 경우 삽입
- 29. 존재하지 않는 SQL 쿼리
- 30. USE 존재하지 않는 DB
삭제하려는 개체가 더 이상 존재하지 않으므로 예외가 발생하는 이유는 무엇입니까? 그렇지 않으면 그냥 invalid_argument – Pieter21
그냥 'bool'을 반환하는 것과 같은 유혹을 느낄 것입니다 :'bool remove (const Element & e);'. 개인적으로, 나는 특별히 예외적 인 ** 느낌이 들지 않습니다. container. – Galik