変数を宣言し、関数またはメソッドの外部で値を初期化するときに、どのメモリ空間が使用されたのか疑問に思っています。たとえば、
// CBar.h>
class CBar
{
public:
CBar();
~CBar();
};
// CBar.cpp
std::string const NAME = "mr.foo";
CBar::CBar()
{
std::cout << NAME << std::endl;
}
CBar::~CBar()
{
}
メソッドの外で宣言した NAME 変数。この NAME 変数の宣言と初期化に問題はありますか? そして、CBar インスタンスを作成するたびに、NAME 変数がまだそこにあるのでしょうか?
ありがとう。