| Namespace & Dynamic Memory |
| |
| Introduction of Namespace |
| |
| Namespace |
| |
| Namespace is the collection of or group of same type of classes. Meaning of this
it is collection of same type of entities. |
| |
| To give a name to collection of classes of same type is known as namespace. Namespaces permit to collection of entities like classes, objects and functions under a name. |
| |
| This way the global scope can be divided in "sub-scopes", each one with its own name. |
| |
| The format of name space is : |
| |
| namespace identifier |
| { |
| entities |
| } |
| |
| Where identifier is any valid identifier and entities is the set of classes, objects and functions that are included within the namespace. For example: |
| |
| { |
| int i, j ; |
| } |
| |
| In this case, the variables i and j are regular variables declared within a namespace called myName. |
| |
| In order to contact these variables from outside the myName namespace we have to use the scope operator:: . For example, to access the previous variables from outside it may be write as |
| |
| general : : i |
| genaral : : j |
| |
| The functionality of namespaces is mostly useful in the case that there is a possibility that a global object or function uses the same identifier as another one, causing redefinition errors. |
| |
| For Example : |
| |
| #include
|
| |
| using namespace std; |
| |
| namespace first |
| |
| { |
| int num = 5; |
| } |
namespace second |
| { |
| double num = 3.1416; |
| } |
int main () { |
| cout << first::num << endl; |
| cout << second::num << endl; |
| return 0 ; |
| } |
| |
| Using |
| |
| The keyword using is used to introduce a name from a namespace into the current declarative region. Using is a keyword which tells which namespace is being used. |
| |
| For example: |
| |
| #include |
| |
| using namespace std; |
| |
| namespace firstvalue{ |
| |
| { |
| int i = 5 ; |
| int j =10 ; |
| } |
| |
| namespace secondvalue |
| { |
| double i = 3.1416; |
| double j = 2.7183; |
| } |
| int main () { |
| using firstvalue::x; |
| using secondvalue::y; |
| cout << i << endl; |
| cout << j << endl; |
| cout << firstvalue::j << endl; |
| cout << secondvalue::i << endl; |
| return 0 ; |
| } |
| |
| Namespace std |
| |
| As we know namespace is logical collection of same type of entities. In every program there is use of std namespace. These namespace contains the definition of cout, cin etc |
| |
| Every one files in the C++ standard library announce every one of its entities within the std namespace. |
| |
| This is reason why we have normally integrated the using namespace std; statement in all programs that used any entity defined in iostream. std stands for standard. |
| |
| |
|
| |
| |