Alternate way of computing size of a type using pointer arithmetic

前端 未结 9 457
广开言路
广开言路 2021-01-12 04:53

Is the following code 100% portable?

int a=10;
size_t size_of_int = (char *)(&a+1)-(char*)(&a); // No problem here?

std::cout<

        
9条回答
  •  天涯浪人
    2021-01-12 05:40

    Yes, it gives you the equivalent of sizeof(a) but using ptrdiff_t instead of size_t type.

提交回复
热议问题