C
csx
Hi all,
I have the following code, which at the moment is a vector of arrays. But
unfortunately, it doesnt do what I want.
Basically, here is an example in Java that I want to work in C++.
var Levels = new Array()
Levels[0] = new makearray(1,1,'b',1);
Levels[1] = new makearray(2,2,'g',1);
Levels[2] = new makearray(3,5,'h',1);
Levels[3] = new makearray(4,5,'w',1);
Levels[4] = new makearray(5,3,'p',1);
Can use levels.length() // to return the size of the outer array - i.e. 5
This is really easy in Java, its like an array of arrays but with the
levels.length() feature of a vector, and I want the same in C++. Also, you
dont have to specify the size of the array beforehand.
I want to be able to specify an array by its corresponding array index. So,
if i wanted array (4, 5, 'w', 1) this would be accessed like
nodes temp = Levels[3].
But I also want to be easily able to call levels.length() so that I can get
the size of the array. In this case, 5.
I implemented mine as a vector of arrays, so that I could use
"nodes.size()", but now I cant refer to them via index. i.e. node[4].
If I had implemented it as an array of arrays, the index would work,
node[4]. but I wouldn't be able to call a method like nodes.size().
Can someone please provide some advice
Thanks in advance!!
#include "stdafx.h"
#include <vector>
#include <iostream> // we have to use STD::cout with this
#include <string>
using namespace std; // Now don't need to specify the namespace, i.e.
STD::COUT
struct node
{
int key, row, parent;
char description;
node( int k=0, int r=0, char d='temp', int p=0 )
: key(k), row(r), description(d), parent(p) {}
};
int _tmain(int argc, _TCHAR* argv[])
{
vector<node> nodes;
nodes.push_back( node(1,4,'G',4) ); // 0
nodes.push_back( node(2,2,'H',2) ); // 1
nodes.push_back( node(3,6,'J',2) ); // 2
return 0;
}
I have the following code, which at the moment is a vector of arrays. But
unfortunately, it doesnt do what I want.
Basically, here is an example in Java that I want to work in C++.
var Levels = new Array()
Levels[0] = new makearray(1,1,'b',1);
Levels[1] = new makearray(2,2,'g',1);
Levels[2] = new makearray(3,5,'h',1);
Levels[3] = new makearray(4,5,'w',1);
Levels[4] = new makearray(5,3,'p',1);
Can use levels.length() // to return the size of the outer array - i.e. 5
This is really easy in Java, its like an array of arrays but with the
levels.length() feature of a vector, and I want the same in C++. Also, you
dont have to specify the size of the array beforehand.
I want to be able to specify an array by its corresponding array index. So,
if i wanted array (4, 5, 'w', 1) this would be accessed like
nodes temp = Levels[3].
But I also want to be easily able to call levels.length() so that I can get
the size of the array. In this case, 5.
I implemented mine as a vector of arrays, so that I could use
"nodes.size()", but now I cant refer to them via index. i.e. node[4].
If I had implemented it as an array of arrays, the index would work,
node[4]. but I wouldn't be able to call a method like nodes.size().
Can someone please provide some advice
Thanks in advance!!
#include "stdafx.h"
#include <vector>
#include <iostream> // we have to use STD::cout with this
#include <string>
using namespace std; // Now don't need to specify the namespace, i.e.
STD::COUT
struct node
{
int key, row, parent;
char description;
node( int k=0, int r=0, char d='temp', int p=0 )
: key(k), row(r), description(d), parent(p) {}
};
int _tmain(int argc, _TCHAR* argv[])
{
vector<node> nodes;
nodes.push_back( node(1,4,'G',4) ); // 0
nodes.push_back( node(2,2,'H',2) ); // 1
nodes.push_back( node(3,6,'J',2) ); // 2
return 0;
}