美文网首页
不常用关键字总结

不常用关键字总结

作者: 无边小猪 | 来源:发表于2016-09-05 17:11 被阅读0次

    volatile:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

    register:不保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。常用于循环变量等频繁使用的变量。

    inline:内联函数,以空间换时间。用于频繁大量大用的函数。
    例如:static inline void myprint(int n);
    在IOS中也有这样为减少函数频繁调用而生的方法,依赖runtime来实现。
    例如:

    void (*setter)(id, SEL, BOOL);
    setter = (void (*)(id, SEL, BOOL))[target methodForSelector:@selector(setFilled:)];
    for ( int i = 0 ; i < 1000 ; i++ )
        setter(targetList[i], @selector(setFilled:), YES);
    

    union:变量互斥使用,大小取最宽的变量。
    例如:两个变量共享统一存储空间。

    union var{  
            long int l;  
            int i;  
    };  
    

    auto :自动变量,由编译器自动分配及释放。通常在栈上分配。不用写上默认就是这个。

    相关文章

      网友评论

          本文标题:不常用关键字总结

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