title: What is the difference when we declare an array in C# and in C++?
body: <pre><code>int[] arr = new int[3]; // C#
  int arr[3]; //C++
  </code></pre>
  
  <p>Declaration of array in c++ will allocate  a block of memory for three integers.</p>
  
  <p>I can assume the same with language c#, but because of the following facts I can't.</p>
  
  <p>Every variable in c# is struct or class or enum, As Array is a class, arr should be the object of class Array.
  Intellisense also shows that arr has many member functions same as of functions of class Array, but Array is an abstract class, as we can not instantiate an abstract class, arr can be the object of any other class which might be implementing Array Class</p>
  
  <p>If my deduction is right, I want to know</p>
  
  <ol>
  <li>Which class arr is an object of?</li>
  </ol>
  
  <p>And if my deduction is wrong</p>
  
  <ol>
  <li>I want to know where am I wrong?</li>
  <li>Which Class array is an object of?</li>
  </ol>