UF_OBJ_delete_array_of_objects函数vector转数组用法

 
 
 1 UF_initialize();
 2 std::vector<tag_t>tool_tag;
 3 tag_t ObjectTag = NULL_TAG;
 4 int Type, SubType,n;
 5 UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_machining_tool_type, &ObjectTag);
 6 while (ObjectTag != NULL_TAG)
 7 {
 8 UF_OBJ_ask_type_and_subtype(ObjectTag, &Type, &SubType);
 9 if (Type == UF_machining_tool_type && SubType == UF_mach_tool_subtype)
10 {    
11 tool_tag.push_back(ObjectTag);    
12 }
13 UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_machining_tool_type, &ObjectTag);
14 }    
15 tag_t *toollist=new tag_t[tool_tag.size()-1];    
16 size_t p = tool_tag.size();
17 n = static_cast <int> (p);//优雅的解决“从“size_t”转换到“int”,可能丢失数据” 这个错误!
18 for (size_t i = 0; i < n; i++)
19 {
20 toollist[i] = tool_tag[i];
21 }
22 UF_OBJ_delete_array_of_objects(n, toollist, NULL);
23 delete toollist;
24 UF_terminate();
原文地址:https://www.cnblogs.com/liuxiaoqing1/p/12744975.html