使用C ++实现自己的sizeof运算符

我们可以选择实现自己的sizeof()运算符。该运算符sizeof()是一元运算符,用于计算任何类型的数据的大小。我们可以使用#define指令来实现我们自己的sizeof()运算符,该运算符将与sizeof()运算符完全相同。

这是实现自己的sizeof()运算符的语法,

#define Any_name(object) (char *)(&object+1) - (char *)(&object)

这里,

Any_name-您想要给自己的sizeof()运算符的名称。

这是一个sizeof()用C语言实现运算符的示例,

示例

#include <stdio.h>
#define to_find_size(object) (char *)(&object+1) - (char *)(&object)
int main() {
   int x;
   char a[50];
   printf("Integer size : %d\n", to_find_size(x));
   printf("Character size : %d\n", to_find_size(a));
   return 0;
}

输出结果

Integer size : 4
Character size : 50

在上面的程序中,#define指令用于声明我们自己的sizeof()运算符,它正在计算整数和字符类型数组的大小。

#define to_find_size(object) (char *)(&object+1) - (char *)(&object)
….
int x;
char a[50];
printf("Integer size : %d\n", to_find_size(x));
printf("Character size : %d\n", to_find_size(a));