#pragma once在cpp中是否起作用?
eakey 2019-12-16 01:13:29 问题1,在a.h\b.h\c.h\d.h的首行均加入了#pragma once。
我们在b.h和c.h中都引用了a.h,在d.h中加入了b.h和c.h,那么是哪个#pragma once防止了a.h被重复包含?
是加在b.h和c.h中的#pragma once起作用?
还是是加在a.h中的#pragma once起作用?
还是是加在d.h中的#pragma once起作用?
问题2,在cpp文件中是否也可以使用#pragma once吗?
比如我在cpp文件中#include "b.h"和#include "a.h"(b.h中#include "a.h",同时这两个文件首行均无#pragma once),那会不会造成重复定义?还是说可以在cpp文件的首行写#pragma once?感觉#pragma once是针对.h文件的,cpp文件应该如何防止重复#include?