要从void *
CI中的函数获取a ,将执行以下操作(非常基本的示例):
void *get_ptr(size_t size)
{
void *ptr = malloc(size);
return ptr;
}
使用时如何获得相同的结果std::unique_ptr<>
?
stackoverflow.com/questions/4316727/...
—
dragosht
请说明您在执行此操作时遇到的问题。
—
molbdnilo
请参见以下答案以了解通用void unique_ptr:stackoverflow.com/a/39288979/2527795
—
vll
请注意,这样的
—
胡桃
malloc
C ++ 几乎绝对没有理由使用。您正在返回一个指向原始内存的指针,您需要在该指针中放置新对象才能使用它。如果没有足够的理由在分配内存之后创建对象,那么应该使用new
或std::make_unique
分配内存以及创建适当的对象。在两种情况下,std::vector
都有reserve
is prob。也更好。即使您不使用这些,也不operator new
是分配内存的惯用方式malloc
。