GCC 5の変更点で興味深い部分を紹介してみる。 GCC 5 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF) まず、C言語のデフォルトが-std=gnu11になったことだ。C11にGCC拡張を付け加えたものがデフォルトとなる。 __has_includeと__has_attributeのサポート __has_includeは、ヘッダーファイルがあるかどうかを確認できるプロプロセッサーの定数式の中で使える特殊な式で、特定のヘッダーファイルがあるかどうかを確認するのに使える特殊なマクロのように振る舞う。 // __has_includeが存在するか確認 #ifdef __has_include // <optional>が存在するかどうか確認 # i