#pragma与#ifndef #endif
相同点:
都是防止头文件重复包含
不同点:
原理不同:**#pragma once如果发现头文件被包含就不会打开头文件,而后者每次都要打开头文件去判断头文件宏,所以前者更快**;
#pragma once在两个头文件名不同,而内容相同时,会把两个头文件都包含进来,出现重定义的错误。而后者打开头文件后发现宏名一样,就不会重复包含,
相同点:
都是防止头文件重复包含
不同点:
原理不同:**#pragma once如果发现头文件被包含就不会打开头文件,而后者每次都要打开头文件去判断头文件宏,所以前者更快**;
#pragma once在两个头文件名不同,而内容相同时,会把两个头文件都包含进来,出现重定义的错误。而后者打开头文件后发现宏名一样,就不会重复包含,