0

たとえば、私のクラスでは、「MyName」文字列リテラルを使用したいのですが、それを使用する唯一のクラスです。

// CFoo.h
class CFoo
{
public:
    CFoo();
    ~CFoo();
    void printString();
}

// CFoo.cpp
CFoo::CFoo()
{
}

CFoo::~CFoo()
{
}

void CFoo::printString()
{
    std::cout << "MyName" << std::endl;
}

ここで、「MyName」に、NameLiter などのようなわかりやすい名前のプレースホルダーが必要です。define プリプロセッサを使用するか、cpp で const std::string としてグローバルとして宣言する必要がありますか? または、プライベート メンバー変数を作成し、ctor 初期化子リストで初期化する必要がありますか?

ありがとう!

4

1 に答える 1

1

CFooprivate static const char*にすることで、要件が満たされます。

于 2013-10-27T05:23:35.217 に答える