为了防止头文件被重复包含,主要有两种方式:
方式一:使用 #ifndef
#ifndef OPTIONAL_TEST_H #define OPTIONAL_TEST_H //............... #endif //OPTIONAL_TEST_H
该方式是c++标准支持,使用宏的名字来区分文件。优点是C++标准,支持跨平台。缺点是宏的名字冲突了,不好找到原因。
方式二:使用#pragma once
#pragma once
该方式是按照物理文件名来区分文件。不会有宏定义冲突的问题,但是属于微软的编译器独有的,不支持跨平台。