私のプログラムには、プログラムの実行中に作成されたインスタンスが 1 つしかないクラスがたくさんあります。それらは初期化時に一度だけ作成され、閉じるときに一度だけ破棄されます。
これらのクラスはすべて、プログラムのさまざまな部分で使用される非常に幅広い機能を提供する傾向があるため、それらを別のクラスにカプセル化したりポインターを渡したりするのではなく、それらをグローバルな extern として持つことは、非常にクリーンで理解しやすいものです。
このプログラムはマルチスレッドであり、これらすべてのクラスにはアクセス用の独自のミューテックスが含まれています。
このアプローチに問題はありますか? もしそうなら、推奨される代替手段は何ですか。