C++_中数据类型大小(所占用字节数)


代码

#include<iostream>
using namespace std;

#define str(type) #type
#define sz(type) cout<< str(type) << ":" << sizeof(type) << "B"<< endl; 

int main() {

	sz(char);
	sz(unsigned char);
	sz(short);
	sz(unsigned short);
	sz(int);
	sz(unsigned int);
	sz(long);
	sz(unsigned long);
	sz(int long);
	sz(unsigned int long);
	sz(long long);
	sz(unsigned long long);

	sz(float);
	sz(double);
	sz(long double);

	return 0;
}

define字符串化运算符

在这里第四行,用到了define 的一元运算符 #,它常称为字符串化运算符(stringify operator 或 stringizing operator),它会把宏调用时的实参转换为字符串。# 的操作数必须是宏替换文本中的形参。当形参名称出现在替换文本中,并且具有前缀 # 字符时,预处理器会把与该形参对应的实参放到一对双引号中,形成一个字符串字面量。

比如在这里,sz(char),#会把char转化成”char”,赋值给str(type),然后输出。

运行结果


文章作者: AllenMirac
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AllenMirac !
  目录