C 常数0L,0LL,0UL,0.0f,0.0L

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_tsize_t实际上就是unsigned long int,所以这里才使用unsigned long int型别的0。

参考连结

What do 0LL or 0x0UL mean?

c语言中的0UL或1UL是什么意思

C size_t

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章