gpt4 book ai didi

c++ - 下标运算符接受可变类型的可变长度参数?

转载 作者:太空宇宙 更新时间:2023-11-04 15:40:59 25 4
gpt4 key购买 nike

[] 运算符是否接受可变长度参数或可变类型?这种行为类似于 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;
}

最佳答案

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

int x = i["a", i, 1]; 基本上等同于 int x = i[1];

关于c++ - 下标运算符接受可变类型的可变长度参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com