Wiem, że funkcje szablonu nie mają wielu definicji podczas łączenia, podobnie jak funkcje członkowskie zdefiniowane w klasie, które są domyślnie włączone. Również obiekty constexpr
mają wewnętrzne powiązania, ale zmienne szablonów mają zewnętrzne powiązania (mam na myśli zakres nazw i C++ 14 w obu przypadkach).Informacje o naruszeniach ODR i zmiennych szablonu
Co z tym?
template<class T>
constexpr T i_am_odr_safe{};
Czy i_am_odr_safe
ma zewnętrzne lub wewnętrzne połączenie w C++ 14? i czy jest bezpieczny w odniesieniu do wielu definicji, takich jak szablony funkcji?
Innymi słowy, czy i_am_odr_safe
odr-safe?