C++ namespace

Created By: chatGPT

In C++, a namespace is a declarative region that provides a scope to the identifiers (the names of types, functions, variables, etc.) inside it. Namespaces are especially useful to avoid name collisions in large projects or when you are using libraries where the same names may occur. Below is a brief overview of how to create and use namespaces in C++.
namespace MyNamespace {
    int myFunction() {
        return 42;
    }
    int myVariable = 10;
}
To access the members of a namespace, you can use the scope resolution operator ::. Alternatively, you can bring all members of a namespace into the current scope with the using directive. This allows you to avoid prefixing members with the namespace name.
int result = MyNamespace::myFunction();

using namespace MyNamespace;
int var = myVariable;
You can also nest namespaces, which is useful for organizing code hierarchically. Here's how to declare and use nested namespaces.
namespace OuterNamespace {
    namespace InnerNamespace {
        void display() {
            std::cout << "Hello from InnerNamespace";
        }
    }
}

OuterNamespace::InnerNamespace::display();
If you want to import specific members from a namespace without importing everything, you can do so using the following syntax. This can help to keep your code clean and avoid potential conflicts.
using OuterNamespace::InnerNamespace::display;
display();
It's also good to note that the standard library in C++ uses a namespace called std. When working with standard functions and classes like cout, cin, and others, you typically need to either prefix them with std:: or use a using directive. Here's an example.
#include <iostream>

using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}
Introduction And SetupVariablesData TypesIntFloatDoubleCharBoolStringVoidConstantsOperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsBitwise OperatorsAssignment OperatorsTernary OperatorControl FlowIf StatementElse StatementElse If StatementSwitch StatementFor LoopWhile LoopDo While LoopBreak StatementContinue StatementGoto StatementFunctionsFunction DeclarationFunction DefinitionFunction OverloadingInline FunctionsDefault ArgumentsRecursionPass By ValuePass By ReferenceData StructuresArraysMultidimensional ArraysStructsEnumsUnionsClassesObjectsMember FunctionsConstructorsDestructorsAccess SpecifiersPublicPrivateProtectedInheritancePolymorphismFunction OverridingVirtual FunctionsPure Virtual FunctionsOperator OverloadingTemplatesNamespaceCommentsSingle Line CommentsMulti Line CommentsSyntaxSemicolonCurly BracesParenthesesEvent HandlingCinCoutError HandlingTry BlockCatch BlockThrow StatementException HandlingPreprocessor DirectivesInclude GuardsMacro DefinitionsInline AssemblyStatic KeywordsExtern KeywordsConst KeywordsVolatile KeywordsFriend FunctionStatic MemberThis PointerDynamic Memory AllocationNew OperatorDelete Operator