一直以为#pragma once只在VC中支持=_=,所以项目里头文件用的都是#ifndef
直到今天翻C++11的书的时候,看到“在C/C++标准中,#pragma 是一条预处理的指令…………定义了以下语句 #pragma once……”这句话,才知道#pragma once貌似是符合标准的。。。
使用VS2015,TDM-GCC 5.1 ,GCC(Ubuntu) 4.8 都能通过编译。。
然而直到2015年,还看到有的人说“编译器可能不支持#pragma once”,而且并没有人反对。。。
所以想问一下主流编译器对#pragma once的支持程度
P.S.我的那个项目要求C++14,所以只考虑支持C++14的编译器。。
直到今天翻C++11的书的时候,看到“在C/C++标准中,#pragma 是一条预处理的指令…………定义了以下语句 #pragma once……”这句话,才知道#pragma once貌似是符合标准的。。。
使用VS2015,TDM-GCC 5.1 ,GCC(Ubuntu) 4.8 都能通过编译。。
然而直到2015年,还看到有的人说“编译器可能不支持#pragma once”,而且并没有人反对。。。
所以想问一下主流编译器对#pragma once的支持程度
P.S.我的那个项目要求C++14,所以只考虑支持C++14的编译器。。