다음과 같은 경우는 어떻습니까? 의존성이있는 경우 컴파일러가 정적 변수의 초기화 순서를 올바르게 처리 할 수 있습니까?컴파일러는 정적 변수의 초기화 순서를 올바르게 처리 할 수 있습니까?
a.h
template<class T>
struct A { static double a; };
template<class T>
double A<T>::a = 1;
b.h
struct B { static double b; };
b.cpp 당신의 예에서
#include "b.h"
#include "a.h"
double B::b = A<int>::a;
http://stackoverflow.com/a/1421736/2718447 – anjruu
또한 : http://stackoverflow.com/questions/211237/static-variables-initialisation-order이 경우 – anjruu
는'이후로 문제가 없습니다 a'는 정적으로 초기화됩니다. 아마도 둘 다 동적 초기화가 필요한보다 일반적인 경우에 대해 묻고 있습니까? –