变量初始化/声明中的逗号

10

我发现了一段代码,其内容如下:

    void check()
    {
        int integer = 7;

        //integer2 is not declared anywhere
        int check = integer, integer2;

        //after running
        //check = 7
        //integer = 7
        //integer2 = 0
    }

这里逗号的用意是什么?

1个回答

11

在变量声明中使用逗号可以让你声明一个相同类型的第二个变量。这等同于:

int check = integer;
int integer2;

至于:

//integer2 is not declared anywhere

没错,就在这里!这是integer2的声明。


1
我知道我可以这样做:int integer1,integer2,integer3; 但不知道它既可以用于声明又可以用于初始化。看起来不像是我想使用的功能,因为它可能会产生误导... 不管怎样,还是谢谢 :) - Yoav
@Yoav 实际上,我经常使用它;其中一个经典用途是在流IO中: int offset = 0, count; while((count = source.Read(buffer, offset, buffer.Length)) > 0) { offset += count; ... } - Marc Gravell
令人惊讶的是(或者不意外),我最初遇到这段代码的地方在这里:https://dev59.com/aG865IYBdhLWcg3wIrBg#3967595 - Yoav
@Yoav 看,我告诉过你我用了它 ;p - Marc Gravell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接