Initialization of all elements of an array to one default value in C++?

Using the syntax that you used, int array[100] = {-1}; says “set the first element to -1 and the rest to 0” since all omitted elements are set to 0. In C++, to set them all to -1, you can use something like std::fill_n (from <algorithm>): std::fill_n(array, 100, -1); In portable C, you have to … Read more

Is it possible only to declare a variable without assigning any value in Python?

Why not just do this: var = None Python is dynamic, so you don’t need to declare things; they exist automatically in the first scope where they’re assigned. So, all you need is a regular old assignment statement as above. This is nice, because you’ll never end up with an uninitialized variable. But be careful … Read more

How can I index a MATLAB array returned by a function without first assigning it to a local variable?

It actually is possible to do what you want, but you have to use the functional form of the indexing operator. When you perform an indexing operation using (), you are actually making a call to the subsref function. So, even though you can’t do this: value = magic(5)(3, 3); You can do this: value … Read more

Why don’t Java’s +=, -=, *=, /= compound assignment operators require casting?

As always with these questions, the JLS holds the answer. In this case §15.26.2 Compound Assignment Operators. An extract: A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T)((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once. An example cited from §15.26.2 […] the following code is … Read more