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。