OGRFeature的DestroyFeature方法

 Ogr的销毁DestroyFeature方法:

1 void OGRFeature::DestroyFeature( OGRFeature *poFeature )
2 {
3     delete poFeature;
4 }

析构函数中删除了几何对象和空间参考定义, ogrfeature.cpp文件中查看:

 1 OGRFeature::~OGRFeature()
 2 
 3 {
 4     if( poGeometry != NULL )
 5         delete poGeometry;
 6 
 7     for( int i = 0; i < poDefn->GetFieldCount(); i++ )
 8     {
 9         OGRFieldDefn    *poFDefn = poDefn->GetFieldDefn(i);
10         
11         if( !IsFieldSet(i) )
12             continue;
13     
14         switch( poFDefn->GetType() )
15         {
16           case OFTString:
17             if( pauFields[i].String != NULL )
18                 VSIFree( pauFields[i].String );
19             break;
20 
21           case OFTBinary:
22             if( pauFields[i].Binary.paData != NULL )
23                 VSIFree( pauFields[i].Binary.paData );
24             break;
25 
26           case OFTStringList:
27             CSLDestroy( pauFields[i].StringList.paList );
28             break;
29 
30           case OFTIntegerList:
31           case OFTRealList:
32             CPLFree( pauFields[i].IntegerList.paList );
33             break;
34 
35           default:
36             // should add support for wide strings.
37             break;
38         }
39     }
40     
41     poDefn->Release();
42 
43     CPLFree( pauFields );
44     CPLFree(m_pszStyleString);
45     CPLFree(m_pszTmpFieldValue);
46 }
~OGRFeature()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值