【发布时间】:2016-08-31 10:09:21
【问题描述】:
我有一个简单的类,它对我使用 default_random_engine 生成随机数很有用。
随机.h:
#include <random>
using namespace std;
class Random
{
public:
Random();
~Random() {}
private:
static default_random_engine _engine;
};
随机.cpp:
#include "Random.h"
Random::Random()
{
_engine = default_random_engine{}; //Will this be initialized every time I create an object of type Random?
}
每次创建Random 类型的对象时,_engine 会被初始化吗?
我只是希望它在第一次初始化之后保持不变,因为我被告知我可以多次使用同一个引擎。
【问题讨论】:
-
@NathanOliver 谢谢,你帮助我理解了。
-
如果
using namespace std;的存在不是为了缩短这个问题中的代码:请不要。把它放在.cpp中已经够糟糕了,但是放在标题中,这是相当不可接受的。 -
@BaummitAugen 感谢您告诉我!
标签: c++ static-members