Are the static members of the class template implicitly created or not?

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.

(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)

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. [..]

+4
source share
1 answer

, . 1 , , bu . 8 , . - -, , . 8 , "".

, , , Par.8 (, , ):

14.7/2... -, -, , , , , -, -, ....

14.7.1/2 , , ; , ( ) , .

( ++ 11, )

, " " " ".

+5

All Articles