I am working on How compilers handle initialization list. I came across a
case where I am not sure what should be the compiler behaviour.
*Example 1:-*
#include <iostream>
class A
{
public:
int x,y,z;
};
int main()
{
A a1[2] =
{
{ 1,2 },
{ 3,4 }
};
std::cout << "a1[0].z is " << a1[0].z << std::endl;
return 0;
}
In above case a1[0].z is ? g++ shows it as 0 ( zero ). It is exactly 0 or
garbage value, I am not sure on that.
I tried lot of books and some documents , no where I found what C++ says
for initialization of class objects.
You can find handling of below case in almost every book.
*Example 2:- *
int arr[6] = {0};
In Example 2, compilers will auto-fill all members with 0. It is mentioned
in books. But when it comes to User-defined datatypes nothing is mentioned.
Please share your thoughts on this. If you find any document related to
this, please share it as well.
Thanks
Sagar
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].