zoukankan      html  css  js  c++  java
  • 【摘】sizeof实现

    注意sizeof是运算符,而非函数
    关于sizeof的两个精巧的宏实现。
    非数组的sizeof:
    #defne _sizeof(T) ( (size_t)((T*)0 + 1))
    数组的sizeof:
    #define array_sizeof(T)   ( (size_t)(&T+1)  - (size_t)(&T)  )
    原理就是c/c++中的指针运算。
    百度看了下是这样实现的,
     

    一切的根源就是指针步长,我喜欢这样叫,我觉得这样更容易让人理解,但是大多数书没有提出这样一个概念。当然这还没完?其实依靠这个原理的不仅仅是sizeof 在linux内核中有非常有名的俩个宏,其原理也是如此。

  • 相关阅读:
    pytest_04
    pytest_03
    pytest_02
    CF 1416C XOR Trie
    CF 1413D
    ZOJ 3725 概率dp
    ZOJ 3726
    位运算
    CF1439C 线段树
    unordered_set
  • 原文地址:https://www.cnblogs.com/fallenmoon/p/9012423.html
Copyright © 2011-2022 走看看