下标运算符接受变量类型的可变长度参数

Subscript operator accepts variable length arguments of variable type?

本文关键字:参数 类型 运算符 变量 下标      更新时间:2023-10-16

[]运算符接受可变长度参数还是可变类型?这种行为类似于va_args吗?还是最后一个参数总是隐式传递?

有人能解释一下为什么以下内容在编译过程中没有出错吗?(在VS2010中测试)

int main()
{
    typedef std::map<int, std::string> KeyValueMap;
    typedef std::vector<int> IntList;
    IntList l(10);
    int r = l[l, "C", 1];
    KeyValueMap m;
    m[m, 1, "D", 2];
    int* i = new int[10];
    int x = i["a", i, 1];
    return 0;
}

逗号(,)是一个运算符,用于计算所有参数并返回最后一个参数。

CCD_ 4与CCD_。