zoukankan      html  css  js  c++  java
  • C语言restrict关键字的使用----可以用来优化代码

    C99中新增加了restrict修饰的指针:由restrict修饰的指针是最初唯一对指针所指向的对象进行存取的方法,仅当第二个指针基于第一个时,才能对对象进行存取。对对象的存取都限定于基于由restrict修饰的指针表达式中。 

    由restrict修饰的指针主要用于函数形参,或指向由malloc()分配的内存空间。restrict数据类型不改变程序的语义。编译器能通过作出restrict修饰的指针是存取对象的唯一方法的假设,更好地优化某些类型的例程。 

    [典型例子]

    memcpy()在C99中,restrict可明确用于memcpy()的原型,而在C89中必须进行解释。

    void *memcpy(void *restrict str1, const void *restrict str2, size_t size);

    /*通过使用restrict修饰str1和str2来保证它们指向不重叠的对象*/ 

    http://www.cnblogs.com/Leon5/archive/2011/10/06/2199750.html

    http://blog.csdn.net/swanabin/article/details/17915083 在vc2008中编译 会报错把restrict  改为__restrict就可以了

    http://bdxnote.blog.163.com/blog/static/84442352010017185053/

  • 相关阅读:
    C++覆盖、重载、多态区别
    C++的模板与类属类
    虚函数表和虚基类表
    常用的设计模式
    计算机内存中的对齐和C++ 类的存储空间大小
    C++的多态
    前端框架你究竟选什么
    [zt]程序员的本质
    javascript
    Web开发人员应有的15本免费电子书
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4101573.html
Copyright © 2011-2022 走看看