使用运营商New分配的数据结构是否有任何副作用

Are there any side effects for C code using data structure allocated using operator new

本文关键字:是否 任何 副作用 数据结构 运营商 New 分配      更新时间:2023-10-16

a.h

struct S1{...};
extern "C" struct S1 *f();
extern "C" void freeS1(struct S1 *ptr);

A.CPP

extern "C" struct S1 *f() {
    struct S1 *ptr = new struct S1();
    ...
    return ptr;
};
extern "C" void freeS1(struct S1 *ptr) { 
    delete ptr;
};

B.C

struct S1 *ptr = f();
.....
freeS1(ptr);

内存是内存,只要它正确对齐并且分配和交易函数是正确匹配的(结构定义是相同的(,只要它正确对齐,分配和交易函数就无关紧要。应该没有问题。