Re: Array size
"Jim Langston" <tazmaster@rocketmail.com> wrote:
Pavan wrote:
But what I need is I have a function like this
bool f(std::vector vec)
{
int arr[vec.size()];
......
......
.....
}
In the above I have a function that will create a array based on the
size of vector argument passed
to it. So I wanted to know is it ok to do like that. Also is it
allowed in VC++(windows) also?
As stated, it is not currently a part of the C++ standard. But my question
is why? Why do you want to create a variable lenght array as shown when you
can use a vector? What is wrong with:
std::vector<int> arr( vec.size() );
How does that not serve your purpose?
You can use that anywhere you can use an array of int although you need to
go an extra step when getting a pointer to the first element. With the
array you would use
arr
with the vector it would be
&arr[0]
&arr[0] should be an int* which should be usable where you would need either
an int * or int []
And also note that since he is passing the vector in by value, he
probably doesn't need to make yet another copy anyway.