CrazyEngineers
  • dive into the world of C++

    anandkumarjha

    anandkumarjha

    @anandkumarjha-jzdDMA
    Updated: Oct 27, 2024
    Views: 1.2K
    Hello friends
    As we know that the current verson of c++ introduces the keyword(NAMESPACE) . But still many of us don't exactly know the use of it.While going through one book i noticed the use of it and wanted to share with all my friends.

    namespace is a scope. Namespaces are used to make logical groupings and to avoid potential naming conflicts within C++ applications. Use of namespaces incurs no overhead to application size or performance. To use the contents of a namespace, its contents or those parts of it that are required must be brought into current scope which can be achieved in a number of different ways:

    eg. To bring an entire namespace into current scope, use the 'using' keyword, eg:

    using namespace std;

    This brings the whole of the standard template library (STL) into current scope. This is generally only used in examples; bringing the entire contents of such a namespace into current scope in this fashion defeats the purpose of namespaces. To bring a single namespace member into scope, the using keyword can be used to explicitly refer to that item, eg:

    using std::string;

    This brings the STL 'string' type into current scope. Alternatively you can simply declare your variable with full namespace syntax within code. eg:

    std::string my_string;

    This declares my_string as an object of the STL string type.

    Using Namespaces In Your Own Applications
    Since a namespace is a scope, they can be used to aggregate code with similar intent or functionality. For example, you may have a library of useful utility functions and/or classes. Grouping them together within a subjectively logical namespace and calling it 'utils' would be accomplished thus:
    0
    Replies
Howdy guest!
Dear guest, you must be logged-in to participate on CrazyEngineers. We would love to have you as a member of our community. Consider creating an account or login.
Replies
  • rishi0922

    MemberAug 15, 2010

    Can you please elaborate "logical grouping" and "potential naming conflicts" ...
    Are you sure? This action cannot be undone.
    Cancel
  • xxxabhash007

    MemberAug 17, 2010

    Logical Grouping is the grouping of the objects having dependencies and interactions among themselves and grouping them into an activity to show behaviour.
    Are you sure? This action cannot be undone.
    Cancel
  • xxxabhash007

    MemberAug 17, 2010

    Potential naming conflicts is the simple conflicts of variable names which we use in declaration part of the program.
    Are you sure? This action cannot be undone.
    Cancel
  • xxxabhash007

    MemberAug 17, 2010

    I will tell you one thing Anand, using namespaces will solve conflicts for C++ but this will not solve potential conflict for C services and clients.
    Are you sure? This action cannot be undone.
    Cancel
Home Channels Search Login Register