# C++

C++ is a general-purpose programming language that was developed as an extension of the C programming language. It was created in the late 1970s by Bjarne Stroustrup as an improvement to C, adding object-oriented programming (OOP) features and support for generic programming.

C++ is a compiled language, which means that programs written in C++ are translated into machine code by a compiler before being executed. It provides a high level of control over hardware resources and memory management while maintaining a high level of abstraction.

One of the main features of C++ is its support for object-oriented programming. It allows you to define classes, which are user-defined types that encapsulate data and the operations that can be performed on that data. This enables the use of concepts like inheritance, polymorphism, and encapsulation, which help in creating modular and reusable code.

C++ also supports generic programming through templates. Templates allow you to write code that can be parameterized with different types or values, providing flexibility and code reusability.

In addition to OOP and generic programming, C++ supports procedural programming paradigms. It includes features such as functions, control structures, and low-level memory manipulation, making it suitable for systems programming and other performance-critical applications.

C++ has a rich standard library that provides a wide range of functionalities, including input/output operations, string manipulation, containers (such as vectors and lists), algorithms, and more. The language also allows for direct interaction with low-level hardware and provides features like pointers, references, and memory management.

C++ has been widely used in various domains, including software development, game development, embedded systems, high-performance computing, and operating system development. It offers a balance between high-level abstractions and low-level control, making it a powerful and versatile programming language.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lfinteractive.net/programming/c++.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
