C++ – Array Initialization Techniques

arraysc++

float minTime[7]={FLT_MAX};
    for(int i=0;i<7;i++)
        cout << "Min: " << minTime[i] << endl;

Why do I get in the following output :

Min: 3.40282e+038
Min: 0
Min: 0
Min: 0
...

Shoudln't all have the same value as the first one? As it is refered here:
C++ Notes

Best Answer

Your linked page says "...the unspecified elements are set to zero."

This is correct; as such, only the first element in your array was specified to be FLT_MAX, the rest are initialized to zero. If you want to set them all to the same value you can use a for-loop, or more succinctly:

std::fill_n(minTime, 7, FLT_MAX);

As a warning, C++ is a hard language. This means lots of people have lots of misinformation, and this is especially easy to find on the internet. You'd be better off learning from a book on our list. (And yes, the ones not on our list are so because they too contain misinformation!)

Related Question