我们可以通过以下方式使用 vpi_scan:
vpiHandle iter = vpi_iterate(property, handle);
if (iter)
while ( entry = vpi_scan(iter) )
/*code*/;
当 vpi_scan() 返回 NULL 时,iter 将被释放。但是如果我需要多次扫描循环怎么办?有没有办法告诉 vpi_scan 不要释放迭代器,以便完成后我可以 vpi_free_object ?我想我可以使用一个额外的容器来解决这个问题(收集并保留所有条目),但它真的需要吗?
编辑: 1. 我不想多次调用 vpi_iterate,因为它可能很昂贵。2. 假设我使用了一个额外的容器解决方案。有没有办法在不实际扫描循环的情况下找出 vpi_scan 循环中的条目数?这可以使实现更简单。