Consider the following two quotation marks:
[C++11: 14.7.1/1]:[..] Implicit instantiation of a template specialization causes the implicit creation of declarations, but not default definitions or arguments, class member functions, member classes, indexed member lists, static data elements, and member templates; [..][C++11: 14.7.1/8]: Implicit creation of a class template does not implicitly create any static data elements of this class.
[C++11: 14.7.1/1]:[..] Implicit instantiation of a template specialization causes the implicit creation of declarations, but not default definitions or arguments, class member functions, member classes, indexed member lists, static data elements, and member templates; [..]
[C++11: 14.7.1/1]:
[C++11: 14.7.1/8]: Implicit creation of a class template does not implicitly create any static data elements of this class.
[C++11: 14.7.1/8]:
(also found verbatim - with the exception of the new reference to the specification specifications - in [C++14: 14.7.1/1]and [C++14: 14.7.1/9], respectively)
[C++14: 14.7.1/1]
[C++14: 14.7.1/9]
What am I missing here? What is the difference between implicitly instantiating a class template and an implicit instance of a class template specialization? How do these two quotes not conflict?
[C++11: 14.7.1/5]:Template specialization is implicitly created if the class type is used in a context that requires a fully defined object type, or if the completeness of the class type can affect the semantics of the program. [..]
[C++11: 14.7.1/5]:
, . 1 , , bu . 8 , . - -, , . 8 , "".
, , , Par.8 (, , ):
14.7/2... -, -, , , , , -, -, ....14.7.1/2 , , ; , ( ) , .
14.7/2... -, -, , , , , -, -, ....
14.7.1/2 , , ; , ( ) , .
( ++ 11, )
, " " " ".