假设我想从以下位置获取以字节或字符为单位的名称字段的大小:
struct record
{
int id;
TCHAR name [50];
};
sizeof(record.name)
不起作用。
最佳答案
这个解决方案并不像你想象的那么漂亮:
size_in_byte = sizeof(((struct record *) 0)->name)
size_in_chars = _countof(((struct record *) 0)->name)
如果您想在 Windows 以外的其他平台上使用第二个,请尝试:
#define _countof(array) (sizeof(array)/sizeof(array[0]))
关于c++ - 在 C/C++ 中获取结构或 union 成员的字节大小或字符大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882195/