thrift 类型和 c++类型对应关系
2020-03-10 本文已影响0人
cptn3m0
- bool: bool
- binary: std::string
- byte: int8_t
- i16: int16_t
- i32: int32_t
- i64: int64_t
- double: double
- string: std::string
- list<t1>: std::vector<t1>
- set<t1>: std::set<t1>
- map<t1,t2>: std::map<T1, T2>
注意事项
thrift 的 binary 和 string 类型都映射到了 c++ 的 std::string类型
binary vs string
- 在实践中发现, 使用 string 来传递二进制数据, 会遇到末尾有多个 '\0'的时候, 会出现数据丢失, 这个是因为char []类型转化为 string 的时候时候, 会以'\0' 为结尾符号.
- binary 的用法和 string 可以说是一模一样, 但是不会出现数据被截断的问题.