Adam Hall
Adam Hall

Reputation: 51

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

}

Upvotes: 3

Views: 563

Answers (2)

lilburne
lilburne

Reputation: 555

Box *boxPool[25];

boxPool is an array of 25 pointers to Box objects.

Box boxPool[25];

Is an array of 25 Box objects.

Upvotes: 0

nos
nos

Reputation: 229058

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;
}

Upvotes: 7

Related Questions