을 읽었습니다. documentation for std::any_cast을 읽었습니다. API가 캐스트 객체에 값을 반환하거나 포인터를 반환하는 것이 이상하다는 것을 알았습니다. 레퍼런스를 반환하지 않는 이유는 무엇입니까? 비 포인터 유형 인수로 함수를 호출 할 때마다 사본을 작성해야합니다. 캐스트의 포인터 버전이 의도를 조금 더 알 수 있고 조금 더 명확
Xcode 버전 8.1에서 C++을 사용하고 있습니다. boost::any의 기능을 사용할 필요가 있지만, Boost의 일부를 우리 프로젝트에 끌어 넣는 것에 강하게 반대합니다. (제발 논쟁하지 마십시오). 나는 std::any이 "C++ 17로 병합 됨"here임을 알 수 있습니다. 내 Xcode 8.1 프로젝트에서 사용하고 싶습니다. 나는 프로젝트에서
와 유형 삭제 : template<class T>
using read_t = std::conditional_t<true,
decltype(std::declval<T>().Read(uint16_t{})),
std::integral_constant<uint8_t (T::*)(uint16_t), &T::Read>>;
을이처럼 사용할 수 있