我正在寻找一个返回类型大小的 C++ 函数。例如 :
#include <stdint.h>
int16_t my_var;
int32_t size_of_var;
// magical_function is what I'm looking for
// size_of_var should be equal to 16 because my_var is a int16_t
size_of_var = my_var.magical_function() ;
Run Code Online (Sandbox Code Playgroud)
我知道 size() 的存在是为了获取字符串的长度,所以我猜也有一个函数表明了这一点。
此外,我正在使用 Clang 库,所以我可以获得一个类型(http://clang.llvm.org/doxygen/classclang_1_1Type.html),但我目前不知道比较 2 种类型并了解它们之间的较大值二。
如果你想要 16 而不是 2 int16_t
sizeof(my_var) * CHAR_BIT
Run Code Online (Sandbox Code Playgroud)
sizeof给你多少字节,CHAR_BIT给你一个字节有多少位(通常为 8)
命令 (sizeof) 的可用语法是:
他们俩都回来了std::size_t。
类型的示例是int, float, double,而表达式可以评估对象的大小。为了澄清起见,我将添加以下内容:
sizeof(int); // Return size of int type.
sizeof(float); // Return size of float type.
sizeof(double); // Return size of double type.
struct my_struct {}; // Creates an empty struct named my_struct.
my_struct alpha; // Initializes alpha as a my_struct.
sizeof alpha; // Returns size of alpha.
Run Code Online (Sandbox Code Playgroud)
可在此处找到更多信息。
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
5822 次 |
| 最近记录: |