簡體   English   中英

C ++中的靜態結構

[英]Static struct in C++

我想定義一個結構,其中將存儲一些數學常量。
這就是我現在所擁有的:

struct consts {
    //salt density kg/m3
   static const double gamma;
};

const double consts::gamma = 2350;

它工作正常,但會有超過10個浮點常量,所以我不想在它們之前寫'static const'。 並定義類似的東西:

static const struct consts {
    //salt density kg/m3
   double gamma;
};

const double consts::gamma = 2350;

它看起來不錯,但我收到了這些錯誤:
1.不允許成員函數重新聲明
2.非同步數據成員不得在其類別之外定義

我想知道是否有任何C ++方法可以做到這一點?

使用命名空間而不是嘗試將結構化為命名空間。

namespace consts{
    const double gamma = 2350;
}

訪問數據的方法也具有完全相同的synatx。 例如:

double delta = 3 * consts::gamma;

聽起來你真的只想要一個命名空間:

namespace consts { 
    const double gamma = 2350.0;
    // ...
}

除了我試着拿出一個比一個更好的名字consts它。

暫無
暫無

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

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