https://www.bytereef.org/mpdecimal/doc/libmpdec/assign-convert.html
mpd_t *mpd_qncopy(const mpd_t *a);
返回指向a的新副本的指针,如果失败,则为NULL。
“新副本” 是什么意思?
在没有提供任何mpd_context_t
的情况下,它在哪里分配新的指针?
答案 0 :(得分:1)
“新鲜复制”表示分配内存并复制十进制对象。 full implementation是:
invalidateCurrentSublistLineForSubrecordCache
目前尚不清楚为什么您认为需要提供mpd_t *
mpd_qncopy(const mpd_t *a)
{
mpd_t *result;
if ((result = mpd_qnew_size(a->len)) == NULL) {
return NULL;
}
memcpy(result->data, a->data, a->len * (sizeof *result->data));
mpd_copy_flags(result, a);
result->exp = a->exp;
result->digits = a->digits;
result->len = a->len;
return result;
}
对象,因为对小数点未执行任何操作。