簡體   English   中英

具有所有成員和方法的C ++類靜態

[英]C++ class with all members and methods static

我有一個具有多個類的程序,並且有一個類具有所有成員和靜態方法的類,具有以下內容:兩個成員和兩個方法,用於在開始時對其進行初始化。 同樣,我的靜態課程中的所有成員都是公開的。 我的問題是,這是不好的做法還是有更好的方法呢? 我僅在另一個類中使用該類的成員。

始終避免創建無用的符號

如果不需要類,請在名稱空間中創建一組函數。 如果您的函數集需要處理一些數據,則可以使用靜態類/單例。

設計應用程序時,我的規則是避免擁有可在任何地方調用的內容。

限制自己越多 (或者對於庫而言, 限制 用戶), 代碼越安全 (由於錯誤的使用而導致的錯誤少)。

如果您確實需要制作一個靜態類,我建議您使用這樣的構造函數:

class Foo
{
    public:
        Foo() = delete;
};

它避免了不可實例的類和完全靜態的類之間的混淆。

如果您喜歡蓬勃發展,則可以設置以下內容:

#define STATIC_CLASS(class_name) public: class_name() = delete

class Foo
{
    STATIC_CLASS(Foo);
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM