# Code

- [Pre-Processors](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors.md): Those #Tag inside our program
- [#include](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors/include.md)
- [#define](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors/define.md): This is used to define macros. Macros can be simple constants or function
- [#ifdef](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors/ifdef.md): These directives allow you to include or exclude code based on certain conditions
- [#pragma](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors/pragma.md): Pragma is a Include Guards, it tells compiler whether  to include header file again or not
- [Predefined Macros](https://notes.tejpratapsingh.com/_/cpp/code/pre-processors/predefined-macros.md): C++ has many predefined macros too
- [LValue and RValue](https://notes.tejpratapsingh.com/_/cpp/code/lvalue-and-rvalue.md)
- [Data Types](https://notes.tejpratapsingh.com/_/cpp/code/data-types.md)
- [Enum](https://notes.tejpratapsingh.com/_/cpp/code/data-types/enum.md)
- [TypeDef](https://notes.tejpratapsingh.com/_/cpp/code/data-types/typedef.md)
- [const in c++](https://notes.tejpratapsingh.com/_/cpp/code/data-types/const-in-c++.md)
- [extern vs inline](https://notes.tejpratapsingh.com/_/cpp/code/data-types/extern-vs-inline.md)
- [Casting](https://notes.tejpratapsingh.com/_/cpp/code/casting.md)
- [Operator overloading](https://notes.tejpratapsingh.com/_/cpp/code/operator-overloading.md)
- [Available Operators](https://notes.tejpratapsingh.com/_/cpp/code/operator-overloading/available-operators.md)
- [Examples of operator overloading](https://notes.tejpratapsingh.com/_/cpp/code/operator-overloading/examples-of-operator-overloading.md)
- [Namespace](https://notes.tejpratapsingh.com/_/cpp/code/namespace.md)
- [Namespace Example](https://notes.tejpratapsingh.com/_/cpp/code/namespace/namespace-example.md)
- [Using directive](https://notes.tejpratapsingh.com/_/cpp/code/namespace/using-directive.md)
- [Header File](https://notes.tejpratapsingh.com/_/cpp/code/header-file.md)
- [For C++ Classes](https://notes.tejpratapsingh.com/_/cpp/code/header-file/for-c++-classes.md)
- [Structure](https://notes.tejpratapsingh.com/_/cpp/code/structure.md): Collection of different data types
- [Struct vs Class](https://notes.tejpratapsingh.com/_/cpp/code/structure/struct-vs-class.md)
- [Public vs Private inheritance](https://notes.tejpratapsingh.com/_/cpp/code/structure/public-vs-private-inheritance.md)
- [Classes](https://notes.tejpratapsingh.com/_/cpp/code/classes.md)
- [Friend Function](https://notes.tejpratapsingh.com/_/cpp/code/classes/friend-function.md)
- [Copy Constructor](https://notes.tejpratapsingh.com/_/cpp/code/classes/copy-constructor.md)
- [Explicit Constructor](https://notes.tejpratapsingh.com/_/cpp/code/classes/explicit-constructor.md)
- [Move Constructor](https://notes.tejpratapsingh.com/_/cpp/code/classes/move-constructor.md)
- [Move Semantics](https://notes.tejpratapsingh.com/_/cpp/code/classes/move-constructor/move-semantics.md)
- [Other constructors](https://notes.tejpratapsingh.com/_/cpp/code/classes/other-constructors.md)
- [Virtual functions](https://notes.tejpratapsingh.com/_/cpp/code/classes/virtual-functions.md)
- [Pure virtual function](https://notes.tejpratapsingh.com/_/cpp/code/classes/pure-virtual-function.md): Interface/abstract classes in c++
- [Other function declaration](https://notes.tejpratapsingh.com/_/cpp/code/classes/other-function-declaration.md)
- [const function vs final function](https://notes.tejpratapsingh.com/_/cpp/code/classes/const-function-vs-final-function.md)


---

# 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://notes.tejpratapsingh.com/_/cpp/code.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.
