谢谢~现在另一个问题是:
我是要用C语言写一段程序,调用别人用C++写的一个库中的函数,需要分配内存指向库中某个类的对象,这样是用malloc吗?以前写C++程序新建对象都是用new,第一次遇到这种情况,有些迷惑了
举例说,别人库中有class A
如果我是写C++函数,那我知道,我应该用A* a = new A;
现在是用C语言,是应该这样吗:A* a = malloc(sizeof(A));
[/Quote]
这样有些问题哎,你直接用c++好了,为什么要用c呢?
c没有class,你的A怎么声明的?sizeof(A)又等于多少?
struct c和c++也不一样的
谢谢~现在另一个问题是:
我是要用C语言写一段程序,调用别人用C++写的一个库中的函数,需要分配内存指向库中某个类的对象,这样是用malloc吗?以前写C++程序新建对象都是用new,第一次遇到这种情况,有些迷惑了
举例说,别人库中有class A
如果我是写C++函数,那我知道,我应该用A* a = new A;
现在是用C语言,是应该这样吗:A* a = malloc(sizeof(A));
[Quote=引用 19 楼 daviesx 的回复:]
引用 18 楼 chemmyhuang 的回复:
谢谢你详细的解释,我应该明白了。
现在我的作法是,从我写的A()返回的指针char*a再作为入参传到B()中,在B()中令char* b = a,然后free (b)就可以了,是这样吗?