Named Parameter Idiom과 Boost::Parameter library을 살펴 보았습니다. 각각의 장점은 무엇입니까? 항상 다른 것보다 하나를 선택해야하는 좋은 이유가 있습니까? 아니면 어떤 상황에서 각각의 것이 다른 것보다 낫지 않을까요? 그렇다면 어떤 상황입니까?C++ "Named Parameter Idiom"vs. Boost :: 매개 변수 라이브러리
답변
명명 된 매개 변수를 구현하기 이디엄은 Boost :: Parameter를 사용하는 것만 큼 쉽지만 거의 쉽기 때문에 하나의 주요 포인트로 요약 할 수 있습니다.
- 부스트 종속성이 이미 있습니까? 그렇게하지 않으면 Boost :: 매개 변수가 종속성을 추가 할만큼 충분히 특별하지 않습니다.
개인적으로 프로덕션 코드에서 Boost :: 매개 변수를 본 적이 없으며 100 % 시간이 명명 된 매개 변수의 사용자 지정 구현 이었지만 반드시 좋은 것은 아닙니다.
고마워요. 나는 부스트 종속성을 이미 가지고 있지만 대신 명명 된 매개 변수로 갈 것입니다. –
절대 들어 본 적이 없지만 링크를 검토하면 매개 변수 이름을 쉽게 이해할 수 있습니다. 부스트 구현에 대해 마음에 듭니다.
명명 된 매개 변수 관용구는 훨씬 간단합니다. 왜 Boost :: Parameter 라이브러리의 복잡성이 필요한지는 알 수 없다. (심지어 유추 된 "기능"유추 매개 변수는 코딩 오류를 도입하는 방법처럼 보입니다.))
일반적으로 나는 Boost를 좋아합니다.하지만 저는 Boost.Parameter 라이브러리를 커플에게 사용하지 않을 것입니다. 이유 : 당신은 무슨 일이 일어나고 있는지 모르는 경우 당신이 통화를 전에 호출하는 함수의 범위 의 변수에 값을 할당하는 것처럼
- 는 통화가 보인다. 그건 매우 혼란 스러울 수 있습니다.
- 처음 설치하는 데 필요한 상용구 코드가 너무 많습니다.
당신은 아마 당신이 라이브러리의 클라이언트에 대해 상당히 시간을 절약 할 수있는 개발중인 라이브러리 코드를 원하는 것처럼 너무 많은 일반 응용 프로그램 논리에 대한 Boost.Parameter을 원하지 않는다.
다른 점은 Named Parameter Idiom을 한번도 사용하지 않았지만 Boost Parameter를 사용하여 최대 20 개의 선택적 인수를 정의했습니다. 그리고, 제 컴파일 시간은 미친입니다. 몇 초가 걸렸던 것이 이제는 30 초가 걸렸습니다. 이것은 boost 매개 변수를 사용하여 작성한 작은 응용 프로그램을 사용하는 라이브러리가있는 경우 추가됩니다. 물론, 나는 그것을 잘못 구현하고 있을지 모르지만, 나는 그 변화가 있기를 바란다.
- 1. C++ : boost : 값으로 전달 매개 변수
- 2. boost :: program_options에 인수가 있거나없는 매개 변수
- 3. 메서드 매개 변수 C#
- 4. DLL에 boost :: bind'ed 매개 변수 보내기
- 5. 윈도우 C++ 스레드 매개 변수
- 6. Qt : 플러그인 매개 변수 용 C++ 동적 매개 변수 GUI
- 7. isPostBack as Query Parameter
- 8. Visual C++ 2008에서 Boost 라이브러리 설치
- 9. gcc-arm toolchain 용 Boost C++ 라이브러리
- 10. C#의 매개 변수
- 11. C# 템플릿 매개 변수
- 12. C# 메서드와 매개 변수
- 13. 매개 변수, C#을
- 14. C++ 위치 매개 변수
- 15. C++ - 매개 변수 질문
- 16. C# System.Diagnostics.Process.Start() 매개 변수
- 17. 실행 매개 변수 C++
- 18. powershell parameter 속성 기본값 (C# cmdlet)
- 19. link_to parameter with new
- 20. Bash 매개 변수 참조
- 21. PowerShell 고급 함수의 일부 매개 변수에 [parameter()]를 사용하지 않음
- 22. C# 메서드 제네릭 매개 변수 매개 변수 버그?
- 23. C++의 Boost 라이브러리와 비슷한 C 라이브러리 리소스가 있습니까?
- 24. C# : 콜백에 매개 변수 전달
- 25. C# DLL을 후크 : 매개 변수
- 26. 는 C++ 템플릿 매개 변수
- 27. C#의 매개 변수 속성
- 28. C++ 벡터 참조 매개 변수
- 29. C# 4 선택적 매개 변수
- 30. C++, 매개 변수 전달 구문
나는 둘 모두에 대해 전혀 몰랐습니다. 그냥 둘 다 갔었 어. Thanks Geek –
답을보기에는 충분치 않습니다 : Boost :: Parameter를 사용하는 코드는 항상 암시적인 untestable 변환을 포함합니다. +1은 명명 된 매개 변수의 관용어 – bobah
에 연결됩니다. "이름이 지정된 매개 변수 관용구"페이지에 대한 링크를 추가 할 수 있습니까? – xaxxon