boost-any

    1

    1답변

    부스트 신호 객체를 맵에 저장하려고합니다 (연관 : 신호 이름 → 신호 객체). 시그니처 시그니처가 다르므로 두 번째 유형의 맵은 boost :: any이어야합니다. map<string, any> mSignalAssociation; 새로운 신호 서명의 유형을 정의하지 않고 개체를 저장하는 방법은 무엇입니까? typedef boost::signals2::

    48

    1답변

    Boost.Any와 Boost.Variant 중에서 선택하는 데 문제가 있습니다. 언제 각각 하나씩 사용해야합니까? 각각의 장단점은 무엇입니까? 기본적으로 외부 소스의 일부 상태를 저장하려고합니다.

    1

    3답변

    나는 boost :: any의 벡터를 가지고 있으며이 벡터에서 'any'의 인덱스를 찾고 싶다. 이 같은 뭔가 : template <class T> bool IsValueEqualTo(any aniInVector, any value) { if (aniInVector.empty() && value.empty()) return true;

    5

    2답변

    개체에 대한 참조를 boost::any 개체에 저장하려고합니다. boost :: any 객체를 어떻게 초기화합니까? std::ref()을 시도했지만 boost::any은 std::reference_wrapper<>으로 초기화됩니다. 예를 들어, 나는 boost::any 대신 int&를 포함 할 #include <boost/any.hpp> #include

    0

    1답변

    어떤 유형의 값으로 ptr_map에 일부 클래스를 패킹합니다. class EventManager { ptr_map<string, any> mSomeMap; public: typedef signals2::signal<void (int someSignature)> KeyEvent; EventManager()

    4

    1답변

    다형성 타입을 사용하기 위해 boost :: any를 사용하고 있는데, 객체를 기본 유형으로 캐스팅 할 수 있어야합니다. class A { public: int x; virtual int foo()= 0; }; class B : public A { public: int foo() { ret

    2

    2답변

    boost::any을 사용하면 매우 유용하지만 게터가 없다는 것은 매우 우울합니다. 항상 우리가 원하는 형식으로 캐스팅하는 데 any_cast을 사용해야합니다. 그런데 왜 그런 일이 없습니까? 내 의견으로는 벨로우즈가 유용 할 수 있습니다. 내가 볼 수없는 나쁜 것들이 있습니까? template <class T> void get(T * handle) {

    2

    1답변

    boost::any_cast<>과 조합하여 boost::any을 사용하여 인수 집합을 취해야하는 프레임 워크 코드를 작성하고 있습니다. , 거의 함수 호출과 마찬가지로 배열을 boost::any 유형의 배열로 변환합니다. 발신자가 제공 한 번호가 서명되거나 서명되지 않을지 예측하기 어려운 경우를 제외하고 지금까지 모든 것이 잘 작동했습니다. 기존 제품 (W

    5

    1답변

    다음과 같은 호출이 실패 할 때 어떤 키가 관련되었는지 알 수있는 방법이 있습니까? boost::program_options::variables_map vm; ... int foo_bar = vm["some_key"].as<int>(); 키가 맵에서 누락, 또는 int로 변환하지 않는 경우, 나는 오히려 가치가없는 bad_any_cast을 얻을, 나

    4

    3답변

    포인터를 저장하기 위해 boost::any을 사용하고 있습니다. 다형성 데이터 형식을 추출하는 방법이 있는지 궁금합니다. 여기 내가 이상적으로하고 싶지만 현재 작동하지 않는 간단한 예가 나와 있습니다. struct A {}; struct B : A {}; int main() { boost::any a; a = new B();