Initialising Memory with the New Operator: A C Approach
When initially allocating an array of integers using the new operator, there's a concern about efficiently initialising them to 0. While memset is an option, it may not be the most elegant solution. In C , there's a convenient alternative.
C provides syntax specifically tailored for value-initialising arrays:
new int[10]();
This syntax ensures that each element of the array is assigned the default value for its type, in this case, 0 for integers. It's crucial to include the empty parentheses as they differentiate value-initialisation from other forms.
The C standard (ISO C 03 5.3.4[expr.new]/15) explicitly allows value-initialisation using empty parentheses in a new-expression. This feature applies to all object types, including arrays, making it an efficient and "C " way to initialise memory upon allocation.
The above is the detailed content of How to Efficiently Initialize Integer Arrays Using the New Operator in C ?. For more information, please follow other related articles on the PHP Chinese website!