c_cpp 在C ++中使用结构体的基本句柄的示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在C ++中使用结构体的基本句柄的示例相关的知识,希望对你有一定的参考价值。

// Example program
#include <iostream>

//pointer to doubly linked list object in C
//extends cpp structs with base macros

#define Base_HANDLE int type; \
               struct Base* next; \
               struct Base* prev; 

struct Base
{
   Base_HANDLE 
};

struct IntObj
{
    Base_HANDLE
    long value;
};

void printType(Base* b)
{
    std::cout << b->type << std::endl;
}

void connect(Base* b1, Base* b2)
{
    b1->next = b2;
    b2->prev = b1;
}



int main()
{
    IntObj* i = new IntObj();
    i->type = 3;
    i->value = 500;
    IntObj* j = new IntObj();
    j->type = 3;
    j->value = 500;
    Base* b = (Base*)i;
    std::cout << b->type << std::endl;
    printType(b);
    //3
    //3
    connect((Base*)i, (Base*)j);
    std::cout << ((IntObj*)i->next)->value << std::endl;
    //500
    delete i;
    delete j;
}

以上是关于c_cpp 在C ++中使用结构体的基本句柄的示例的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 在C ++中使用运算符和链方法的示例

csharp 如何在C#中定义和使用类和对象的基本示例。

csharp 如何在C#中定义和使用类和对象的基本示例。

c_cpp 在linux中使用fanotify API的示例

C语言编程 结构体让多个CPP使用

用c或c++实现结构体的序列化和反序列化