Answer Posted / atul shankhwar
Name mangling is the process through which your c++ compilers give each function in your program a unique name. In C++, all programs have at-least a few functions with the same name. Name mangling is a concession to the fact that linker always insists on all function names being unique.
Example:
In general, member names are made unique by concatenating the name of the member with that of the class e.g. given the declaration:
class Bar
{
public:
int ival;
...
};
ival becomes something like:
// a possible member name mangling
ival__3Bar
Consider this derivation:
class Foo : public Bar
{
public:
int ival;
...
}
The internal representation of a Foo object is the concatenation of its base and derived class members.
// Pseudo C++ code
// Internal representation of Foo
class Foo
{
public:
int ival__3Bar;
int ival__3Foo;
...
};
Unambiguous access of either ival members is achieved through name mangling. Member functions, because they can be overloaded, require an extensive mangling to provide each with a unique name. Here the compiler generates the same name for the two overloaded instances(Their argument lists make their instances unique).
Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What are the differences between new and malloc?
What is the return value of the insertion operator?
an operation between an integer and real always yeilds a) integer result b) real result c) float result
Why namespace is used in c++?
We all know that a const variable needs to be initialized at the time of declaration. Then how come the program given below runs properly even when we have not initialized p?
Is c or c++ more useful?
What is a friend function in c++?
What is the most common mistake on c++ and oo projects?
Should I learn c++ c?
What is a buffer c++?
What is a storage class?
How do you traverse a btree in backward in-order?
Does there exist any other function which can be used to convert an integer or a float to a string?
What is time h in c++?
What are the stages in the development cycle?