gpt4 book ai didi

c++ - 是否可以在函数调用中构造和传递数组/其他容器?

转载 作者:行者123 更新时间:2023-11-28 03:45:37 25 4
gpt4 key购买 nike

有什么方法可以在函数调用中构造一个字符串数组吗?例如,假设我有这样一个函数:

void foo( char * [] strings )
{
//...does stuff
}

不是先声明字符数组然后再传递它,有没有办法,用数组或任何其他容器类,像这样调用函数?

foo( { "a", "b", "c", ...} );

基本上我有一个提示用户输入的函数,直到它匹配我传递的数组中的一个字符串,并且由于在整个程序中变化,我将接受的输入传递到提示用户的函数并验证输入。目前我只是在函数外部构造它并将其传递进来,但想知道是否可以以任何方式将它们组合成一行

最佳答案

这适用于 C99:

void fun(char *argv[])
{
while(*argv)
printf("%s\n", *argv++);
}

fun((char*[]){"aaa", "bbb", NULL});

既然你提到“容器”,你可能使用 C++ 所以这个答案的值(value)有限(除非你使用的编译器接受它作为扩展 - 例如 GCC 的方式)。

关于c++ - 是否可以在函数调用中构造和传递数组/其他容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7789333/

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