[c++] Is #pragma once a safe include guard?