#pragma once不是标准的,但是由gcc和VC++等编译器支持.它有助于避免包含警卫.
但是,在内部,编译器是否添加包含保护#pragma once?如果没有,编译器如何确保只包含一次这样的头?
Mat*_*son 10
我确信它就像include_once在PHP中一样 - 有一个"已包含的文件"表.在这种情况下,编译器在列表中查找它将要包含的文件,如果已经包含文件,则不要再次包含它.如果编译器在处理文件时看到a #pragma once,则将此文件添加到"已包含的文件"中.
所以它与细节级别的包含防护不同,但它与包含防护具有相同的效果.它还使代码不那么便携,因为有很多编译器不支持这个.
| 归档时间: |
|
| 查看次数: |
443 次 |
| 最近记录: |