매개 변수를 출력하려고하는데 단일 매개 변수 또는 매개 변수의 벡터가 될 수 있습니다. 다음 코드는 내가 할 싶습니다하지 않는 것을 : #include <iostream>
#include <string>
#include <boost/variant.hpp>
#include <boost/spirit/include/karma.hpp>
namespace k
template< typename F > using T = boost::variant< F, F const >; 유형을 만들어 읽기 전용 및 읽기/쓰기 가능한 액세스 가능한 값을 동일한 std::vector<T>에 저장하려고합니다. 하지만 다음과 같은 프로그래밍 문제가 있습니다. #include <iostream>
#include <cstdlib>
#
제 가상 함수는 T 또는 std::vector<T> 중 하나를 반환 할 수 있습니다. 이 경우 boost::variant<T, std::vector<T>>을 반환하는 것이 좋습니까 아니면 항상 std::vector<T>을 반환하는 것이 더 좋습니까? 어떤 것이 더 좋아 보이고 성능 오버 헤드가 가장 적은가? 단일 값이 반환 될 때 variant를 사용하는
어제 제가이 질문을했고 "juanchopanza"가 내 질문에 대답했지만 불행히도 제한된 유형 중 하나를 발견하지 못했습니다. "방문자"를 사용하는 것이 더욱 강력하기 때문에 누구나 "방문자"를 사용하여 해결책을 줄 수 있을지 궁금합니다. 나는이 벡터를 호출 할 때 boost::variant<T1*, T2, T3> Var;
std::vector<Var>
나는 내 질문을하기 전에 시도했지만, 나는 내 질문에 대해 묻는 것이 적절하지 않다고 생각한다. 그래서 여기에 다시 시도 : (아직도 내가 적합 할 것입니다 무슨 주제 모른다) 먼저 내가 typedef boost::variant<point, Line, Vertex> vec_variant;
typedef std::vector<vec_variant> vec;
나는 boost::any과 boost::variant을 잘 알고 있지만,이 경우에는 내 필요에 맞지 않습니다. 일반적으로 알 수없는 유형의 객체를 포함하려면 공통 기본에서 객체를 추출하고 가상 메소드를 통해 인스턴스에 액세스합니다. 그러나 공통 기반을 사용하는 것이 불가능하다면 무엇을 할 수 있습니까? 이 예에서 포함 된 유형을 알고 있어야하지만 나와 함께
부스트 변형 및 C/C++에서 union 데이터 형식 간의 차이점을 궁금합니다. union 데이터 유형이 동일한 메모리 위치를 차지하고 메모리 영역의 가장 큰 데이터 유형이 사용 된 총 메모리 양을 차지한다는 것을 알고 있습니다. union space {
char CHAR;
float FLOAT;
int INTEGER;
}S;
누군가 내가 부스트를 얻을 수있는 방법을 말해 줄 수 있습니까? 순서가 지정되지 않은지도로 변형 된 작업을 할 수 있습니까? typedef boost::variant<long, string, double> lut_value; unordered_map<lut_value, short> table; 내가 거기에 생각 나는 맞다, 실종 부스트 :: 변형에 대한 해