美文网首页
2.1-sizeof再探

2.1-sizeof再探

作者: 李伟13 | 来源:发表于2020-05-04 16:25 被阅读0次
    • sizeof 是单目操作符

    • 其返回值类型为size_t,在头文件stddef.h中定义。这是一个依赖于编译系统的值,一般定义为typedef unsigned int size_t;

    • sizeof 一般在编译期执行.


    可使用如下两个宏定义来实现sizeof功能
    (宏为预编译)

    //针对T为一个类型名的情况
    #define _sizeof_type(T) (size_t)((T*)0 + 1)
    //针对T为一个变量或者数组名的情况
    #define _sizeof(T) ((size_t)(&T + 1) - (size_t)(&T))


    int a = 0;
    cout<< sizeof(a=3) <<endl;
    cout<< a <<endl;
    
    结果为 4,  3
    

    由于sizeof不能被编译成机器码,所以sizeof作用范围内,也就是()里面的内容也不能被编译,而是被替换成类型。=操作符返回左操作数的类型,所以a=3相当于int.

    相关文章

      网友评论

          本文标题:2.1-sizeof再探

          本文链接:https://www.haomeiwen.com/subject/wmkyghtx.html