C 常数0L,0LL,0UL,0.0f,0.0L
C/C++中各种不同型别的常数0,以不同的后缀表示:
0 //int
0L //long
0LL //long long
0UL //unsigned long
0.0 //double
0.0f //float
0.0L //long double
在TensorRT/parsers/caffe/caffeWeightFactory/caffeWeightFactory.cpp
的函数CaffeWeightFactory::getBlobProtoData
中,用到了:
std::pair<const void*, size_t> CaffeWeightFactory::getBlobProtoData(const trtcaffe::BlobProto& blobMsg,
trtcaffe::Type type, std::vector<void*>& tmpAllocs)
{
//...
return std::make_pair(nullptr, 0UL);
}
为何这里回传的value要特别用0UL
呢?因为根据C size_t,size_t
实际上就是unsigned long int
,所以这里才使用unsigned long int
型别的0。