标签:code where fun The variables spl temp with ali
allows programs to be written in logical parts.
let us split our programs into several files, each of which can be compiled independently.
To support separate compilation, C++ distinguishes between declarations and definitions. A declaration makes a name known to the program. A definition creates the associated entity.
A variable declaration specifies the type and name of a variable. A variable definition is a declaration is a declaration. In addition to specifying the name and type, a definition also allocates storage and may provide the variable with an initial value.
Variables must be defined exactly once but can be declared many times.
extern
comes inWhen we separate a program into multiple files, we need a way to share code across those files. For example, code written in one file may need to use a variable defined in another file. A file that wants to use a name defined elsewhere includes a declaration for that name.
To obtain a declaration that is not also a definition, we add the extern
keyword and must not provide an explicit initializer:
extern int i; // declares but does not define i;
int j; // declares and defines j
In this case, the extern
signifies the the variable i is not local to this file and that its definition will occur elsewhere.
Any declaration that includes an explicit initializer is a definition. We can provide an initializer on a variable defined as extern
, but doing so overrides the extern
. An extern
that has an initializer is a definition.
It is an error to provide an initializer on an extern
inside a function.
To define a single instance of a const variable, we use the keyword extern
on both its definition and declaration(s). In other words, to share a const
object among multiple files, you must define the variable as extern
.
explicit instantiation a.k.a. extern template
标签:code where fun The variables spl temp with ali
原文地址:https://www.cnblogs.com/Patt/p/10657830.html