new int [25,2]是什么意思?

时间:2010-06-24 06:34:59

标签: c++

在下面的代码中使用逗号使用第二个参数是什么意思?

int *num = new int[25,2];

4 个答案:

答案 0 :(得分:18)

这是comma operator的实际操作:它评估它的操作数并返回最后一个,在你的情况下为2。 所以这相当于:

int *num = new int[2];

可以说25,2部分不是预期的,除非这是一个技巧问题。

编辑:谢谢Didier Trosset。

答案 1 :(得分:15)

这是运行中的逗号运算符:它会计算它的操作数并返回 last ,在你的情况下为2.这等同于:

int *num = new int[2];

答案 2 :(得分:11)

您正在使用逗号运算符,这使得代码执行了您可能不会乍一看的事情。

逗号运算符计算LHS操作数,然后计算并返回RHS操作数。因此,对于25, 2,它将评估25(无所事事),然后评估并返回2,以便该代码行等同于:

int *num = new int[2];

答案 3 :(得分:-1)

//声明一维数组
        int [] array1 = new int [5];

    // Declare and set array element values 
    int[] array2 = new int[] { 1, 3, 5, 7, 9 };

    // Alternative syntax 
    int[] array3 = { 1, 2, 3, 4, 5, 6 };

    // Declare a two dimensional array 
    int[,] multiDimensionalArray1 = new int[2, 3];

    // Declare and set array element values 
    int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

    // Declare a  array 
    int[][] Array = new int[6][];

    // Set the values of the first array in the  array structure
    Array[0] = new int[4] { 1, 2, 3, 4 };