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

C++ 中数据类型大小(所占用字节数),第1张

代码
#include
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),然后输出。

 运行结果

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/673296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存