Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ : constructor initialization list for an array?

Tags:

c++

arrays

I have a basic question. I have a class with a data member : double _mydata[N]. (N is a template parameter). What is the syntax to initialize these data to zero with a constructor initialization list ? Is _mydata({0}) OK according to the C++ standard (and so for all compilers) ?

Thank you very much.

like image 893
Vincent Avatar asked May 22 '12 00:05

Vincent


1 Answers

No, prior to C++11 you need to do just this to default-initialise each element of the array:

: _mydata()

The way you have it written won't work.

With C++11 it is more recommended use uniform initialisation syntax:

: _mydata { }

And that way you can actually put things into the array which you couldn't before:

: _mydata { 1, 2, 3 }
like image 191
Seth Carnegie Avatar answered Oct 13 '22 00:10

Seth Carnegie