Reputation: 2059
Is it possible to do something like this in C++ (can't test it myself right now)?
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
}
}
And maybe this (but i dont think it is):
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;
........
}
I can do stuff like that in JavaScript, but like I said - don't think it would be possible in C++.
Thanks for your time.
Upvotes: 3
Views: 29908
Reputation: 146910
Sure.
int myarray[] = {111,222,333,444,555,666,777,888,999,1234};
void function() {
std::vector<int> temparray(std::begin(myarray), std::end(myarray));
}
Do note that the use of static non-const variables in this way is really looked down on, and if you pass them to other functions, you will have to also pass the "end" pointer.
However, C++ is so distinct from Javascript, seriously, just don't bother. If you need to code C++, get an actual C++ resource and learn it. The syntax for the basic stuff is the ONLY thing in common.
Upvotes: 3
Reputation: 17114
#include <cstring>
int temparray[10] ;
memcpy (temparray, myarray, sizeof (myarray)) ;
Upvotes: 8
Reputation: 13130
Both cases are impossible. You must either put array length as an argument (know about it), or put inside of array some kind of "terminator" as last element. (I.E. in pointer array put NULL pointer at end of array)
Upvotes: 1