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

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