In this SO question is stated that this construct prevents stack allocation of instance.
class FS_Only {
~FS_Only() = delete; // disallow stack allocati
The only way to allocate such an object would be through dynamic allocation, without any de-alocation (the object will either be leaked, or accessed by pointer for the duration of the program.
Any attempt to allocate a static instance will cause a compilation error when the allocated object would go out of scope (as the destructor code cannot be called).