我想知道uint32_t和之间有什么区别uint32,当我查看头文件时它有这个:
types.h:
/** @brief 32-bit unsigned integer. */
typedef unsigned int uint32;
stdint.h:
typedef unsigned uint32_t;
Run Code Online (Sandbox Code Playgroud)
这只会带来更多问题:有什么区别
unsigned varName;
Run Code Online (Sandbox Code Playgroud)
和
unsigned int varName;
Run Code Online (Sandbox Code Playgroud)
?
我在用 MinGW.
今天我在课堂上看到了这段代码:
static const uint32_t invalid_index = ~uint32_t();
Run Code Online (Sandbox Code Playgroud)
我的问题是,uint32_t析构函数的返回值是什么,为什么它有用?
我正在尝试创建一个将在一个32位整数中编码4个值的类.到目前为止,它保存并输出所有值而不会丢失任何值,但由于某种原因,它的顺序错误.
struct encoder {
uint32_t val;
encoder(uint32_t _val = 0) : val(_val) {}
uint32_t first(uint32_t v = 0) {
if (!v) return (val << (8*3)) >> (8*3);
val |= v;
}
uint32_t second(uint32_t v = 0) {
if (!v) return (val << (8*2)) >> (8*3);
encoder _backupval(val);
val = (val >> (8*1));
val |= v;
val = (val << (8*1));
val |= _backupval.first();
}
uint32_t third(uint32_t v = 0) {
if (!v) return (val << (8*1)) >> (8*3);
encoder _backupval(val); …Run Code Online (Sandbox Code Playgroud)