Thanks Deepak and Rahul for the reply. Do you guys have any standard document or any standard book which defines this? I totally agree with these answers but I don't have any formal written text.
In my example 1, the object is on stack and this lead to a1[0].z to be un-initialized. But as the specified in example 2, Why every element of arr is initialized, it is also on the stack ? Any source to answer this question ? Thanks Sagar On Sun, Sep 28, 2014 at 2:26 PM, Rahul Vatsa <vatsa.ra...@gmail.com> wrote: > > http://stackoverflow.com/questions/3127454/how-do-c-class-members-get-initialized-if-i-dont-do-it-explicitly > > On Sun, Sep 28, 2014 at 12:22 PM, Deepak Garg <deepakgarg...@gmail.com> > wrote: > >> Hi >> >> In example 1, member z will have a garbage value (i.e. 0 in your case ) >> >> Thanks >> Deepak >> On Sep 28, 2014 11:29 AM, "sagar sindwani" <sindwani.sa...@gmail.com> >> wrote: >> >>> 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 algogeeks+unsubscr...@googlegroups.com. >>> >> -- >> 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 algogeeks+unsubscr...@googlegroups.com. >> > > -- > 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 algogeeks+unsubscr...@googlegroups.com. > -- 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 algogeeks+unsubscr...@googlegroups.com.