是否有可能在C ++中做这样的事情(现在不能自己测试)?
int myarray[10] = {111,222,333,444,555,666,777,888,999,1234};
void functioncc()
{
int temparray = myarray;
for(int x=0; x<temparray.length; x++){
.... do something
}
}
也许这个(但我认为不是):
int array1[5] = {0,1,2,3,4,5,6,7,8,9};
int array2[5] = {9,8,7,6,5,4,3,2,1,0};
void functioncc(int arid)
{
temparray[10] = "array"+arid;
........
}
我可以在JavaScript中做类似的事情,但就像我说的那样 - 不要认为它在C ++中是可能的。
感谢您的时间。
答案 0 :(得分:8)
#include <cstring>
int temparray[10] ;
memcpy (temparray, myarray, sizeof (myarray)) ;
答案 1 :(得分:3)
不确定
int myarray[] = {111,222,333,444,555,666,777,888,999,1234};
void function() {
std::vector<int> temparray(std::begin(myarray), std::end(myarray));
}
请注意,以这种方式使用静态非const变量确实被忽略了,如果将它们传递给其他函数,则还必须传递“end”指针。
然而,C ++与Javascript是如此截然不同,严重的是,只是不要打扰。如果需要编写C ++代码,请获取实际的C ++资源并学习它。基本内容的语法是唯一的共同点。
答案 2 :(得分:1)
这两种情况都是不可能的。您必须将数组长度作为参数(了解它),或者将数组放在某个“终结符”作为最后一个元素。 (指针数组中的I.E.将NULL指针放在数组的末尾)