What are the usage differences between size_t and off_t?

前端 未结 3 408
無奈伤痛
無奈伤痛 2021-02-01 01:40

Other than the size of the values that each type can hold, what are the main differences in usage between size_t and off_t? Is it just

3条回答
  •  甜味超标
    2021-02-01 02:22

    Good rule of thumb for this scenario. Use whatever function signature that results in you using the least amount of explicit casting, be it c style or c++ style. If you have to cast, c++ style is safer as it is more limited in the types of cast it can do.

    The benefit of this is if you port to a platform where the types don't match up (whether it be a signed, size or endianness issue etc.), you should catch most of the bugs at compile time, rather than at runtime. Casting is the sledgehammer approach for squeezing a triangular shaped object into a round hole (more or less your telling the compiler to keep quiet, I know what I'm doing).

    Trying to find casting issues at runtime can be a pain as it can be hard to reproduce. It's better to find issues at compile-time rather than runtime. The compiler is your friend.

提交回复
热议问题