# default constructor

> Create an instance of McoSqlEngine.

> ### For an overview see page McoSqlEngine

> The McoSqlEngine default constructor takes no arguments and is invoked implicitly when an engine object is declared. Typically a C++ application will instantiate an McoSqlEngine object in the main program as illustrated below:

> Note that, as memory allocation in eXtremeSQL is done internally through a static memory block allocator, instantiating the McoSqlEngine instance in global static memory should be avoided. For example, instead of the following:

>         // DO NOT instantiate the engine like this

>         McoSqlEngine engine;

>         int main(int argc, char** argv)
>         {
>             ...
>         }

> which instantiates `engine` in global static memory, it should be instantiated in `main()` as follows:

>         int main(int argc, char** argv)
>         {
>             McoSqlEngine engine;

>             ...
>         }

> eXtremeSQL C++ applications typically use an McoSqlEngine instance to execute simple SQL statements and queries. (Please view the Embedded SQL Quick Start page for an example.)

> However, functionality for managing transactions and executing prepared statements, i.e. SQL statements that are created once and executed multiple times, is provided in the McoSqlSession class.