나는 모든 uint32 형식이지만 다른 비트 필드를 가진 구조를 나타내는 유니온을가집니다. typedef union foo_u
{
// raw
uint32_t foo32;
// interpretation 1
struct
{
uint16_t a;
uint16_t b;
} foo_f
는 구성원 공통 기본 클래스를 공유 노동 조합을 고려 struct Base {
int common;
};
struct DerivedA : Base {};
struct DerivedB : Base {};
union Union {
DerivedA a;
DerivedB b;
};
상관없이 노조가 런타임에 (즉, 무엇을
유니온 내부의 형식을 참조하고 싶습니다. 나는 다음과 같은 코드가 있습니다 : 내가 그러나 나는 단지 DIGIT_1, DIGIT_2, DIGIT_3, DIGIT_4, SEG_1, SEG_2의 목록이 표시하고 DISPLAY_1.DIGITS 또는 DISPLAY1.SEGMENTS처럼 뭔가를 할 수 있도록하려면 typedef union
{
typedef
나는이 열거, 노동 조합 및 구조체가 : 나는 동적으로 다른 변수에 따라 노동 조합 내부 변수에 액세스하는 방법을 알고 싶습니다 union num {
int i;
short s;
float f;
double d;
};
enum tag {SHORT, INT, FLOAT, DOUBLE};
struct vrnumber {
현재이 문제로 고민 중입니다. 나는 멤버 구조체 + 변수가있는 공용체를가집니다. 멤버 구조체에는 멤버 구조체 + 변수가 포함되어 있습니다.이 멤버 구조체에는 변수가 들어 있습니다. 특정 변수에 값을 할당 할 때 이전에 할당 된 일부 데이터를 덮어 쓰게된다는 것을 발견했습니다. 나는이 포인터가 증가하지 않기 때문에 기분이 좋다. 아래에 몇 가지 예제 코드 :
나는 move을 이 아닌 객체에 적용 할 수 있음을 알았습니다.에는 "평범하지 않습니다"(예 : 기본 유형은 괜찮습니다) 멤버가있는 공용체가 있습니다. 예를 들어, 다음 코드는 (C++ 14, Clang)을 컴파일합니다. #include <vector>
#include <string>
class Foo {
public:
union {
마이크로 컨트롤러에서 UART로부터 두 개의 uint8_t을받습니다. 나중에 내용을 쉽게 참조 할 수 있도록 구문을 분석해야합니다. 내가 멍청한 놈이고, 나는 노동 조합 트릭에 들어갑니다 작업을 마스킹 비트 얻을 수 없기 때문에 10 | 9 8 | 7 6 | 5 4 | 3 2 1 0
TRETRY | DEAD_TMIE | OCP_MODE | OC
내가 C에서 간단한 가상 머신을 개발하고 을 제기하는 내용 노조를 쓰고, 그리고, 스레드 코드를 사용하여이 구조를 고려할 것 : struct opcode
{
int somefields; //etc
union z
{
char opcode;
void *opaddress;
}
}
내 질문에, 같은 쓰기
참조 구조체 .. 안녕하세요. 구조체를 변환 할 수 있다면 좋겠다 C++ to C#? C++의 코드에서 볼 수 있듯이 새로운 구조에 3 개의 객체 배열이 포함되기를 바랍니다. 은 다음과 같이 사용하는 것입니다 : [FieldOffset(0)]
public short Index;
[FieldOffset(2)]
public shor