1. Static
The static object destructorProgramIt is called only when exiting from the main () block or when the standard C library function exit () is called. This means that using exit () inside the Destructor is dangerous.
You can use atexit () to specify the operations that should be performed when the program jumps out of main () or calls exit.
If a function containing a static object has not been called, The destructor of this object will not be executed.
Within the file range, the name of an object or function explicitly declared as static is a local variable for the compilation unit.
A local class (a class defined inside a function) cannot contain static data members.
2. namespace
Namespace can only be defined globally, but they can be nested with each other.
A namespace can be used as its alias.
Example: namespace adafadfadfa {......}
Namespace A = adafadfadfa;
Using is used to introduce namespace.
3. Specify the conversion connection
1) extern "C" fun ();
2) extern "C "{
Fun1 ();
Fun2 ();
}