Допустим есть два варианта:
Вариант 1. Структура со статичными полями
// MyPool.h
struct MyPool {
static unsigned int capacity;
static unsigned int numOfAllocatedObjects;
}
// MyPool.cpp
unsigned int MyPool::capacity {1024};
unsigned int MyPool::numOfAllocatedObjects {0};
Вариант 2. Глобальный объект:
// MyPool.h
struct MyPool {
unsigned int capacity {1024};
unsigned int numOfAllocatedObjects {0};
}
extern MyPool MyGlobalPool;
// MyPool.cpp
MyPool MyGlobalPool {};
В первом варианте я не смогу создать еще один экземпляр. Но меня это не интересует. Меня интересует есть ли разница с точки зрения производительности? На другом ресурсе мне сказали, что второй вариант с точки зрения поддержки кодовой базы - плохой вариант.