tags:

views:

79

answers:

2
+3  Q: 

C++ class scope

I'm coming to C++ from Objective C and have a problem... This works :-

function1(char *filePath) {

    Box box(filePath); // construct/create a box using filePath

    // can use box in this function and destructor is called when function exits

}

However I need something like this, where function1 and function2 are called asynchronously.

Box *boxPool[25]; // a pool of 25 box pointers

function1(int item, char *filePath) {

    boxPool[item](filePath); // construct/create a box, store a pointer in boxPool that is retained on exit

}

function2(int item) {

    // use the box from boxPool[item] and then destruct/release it on exit

}
+7  A: 

Maybe:

void function1(int item, char *filePath) {

    boxPool[item] = new Box(filePath);

}

void function2(int item) {

  //use boxPool[item]

  delete boxPool[item];
  boxPool[item] = NULL;
}
nos
short, concise, and accurate. Better than what I was going to post! :)
SauceMaster
A: 
Box *boxPool[25];

boxPool is an array of 25 pointers to Box objects.

Box boxPool[25];

Is an array of 25 Box objects.

lilburne
Box* boxPool is an array of 25 Box pointers, not objects, isn't it?
SauceMaster