Соглашение о кодировании с использованием строкового литерала [closed]

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?

Благодарю!

  • 2
    Все зависит .. Посмотрите, если у каждого instance класса будет отдельное имя, сделайте его закрытой переменной, инициализированной во время построения. Если это имя является общим для всех instances класса, сделайте его статическим и закрытым.
Теги:

1 ответ

1
Лучший ответ

Создание private static const char* в CFoo будет отвечать вашим требованиям.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню