我正在尝试构建一个以下列方式接受数组的函数:
int inCommon = findCommon({54,56,2,10}, 4); int findCommon(int nums[], int len){ for(int i=0; i注意,这实际上并不是我的函数所做的,但我会循环遍历数组.我只是想确定是否可以传递像{54,56,2,10}这样的数组,而不是必须创建一个数组并传递它?(像这样:
int theArray[]= {54,56,2,10}; int inCommon = findCommon(theArray,4);
Luc Touraill.. 5
这在当时是不可能的.但是,在下一个C++标准C++ 0x中,这将使用initalizer列表完成:
int findCommon(std::initializer_listnums) { std::initializer_list ::iterator it; for (it = nums.begin() ; it != nums.end() ; ++it) { std::cout << *it << std::endl; } return 1; } 请参阅Bjarne Stroustrup的演示文稿和维基百科的这篇文章
如果你想尝试C++ 0x功能,你可以检查支持其中一些的gcc的最新版本.
1> Luc Touraill..:这在当时是不可能的.但是,在下一个C++标准C++ 0x中,这将使用initalizer列表完成:
int findCommon(std::initializer_listnums) { std::initializer_list ::iterator it; for (it = nums.begin() ; it != nums.end() ; ++it) { std::cout << *it << std::endl; } return 1; } 请参阅Bjarne Stroustrup的演示文稿和维基百科的这篇文章
如果你想尝试C++ 0x功能,你可以检查支持其中一些的gcc的最新版本.