(C ++) Должен ли я помещать константу в пространство имен или нет - PullRequest
0 голосов
/ 08 мая 2020

Я исхожу из Java фона и пытаюсь исправить какой-то код C ++, который унаследован.

Структура похожа на

namespace ABC {
namespape CDE {

using namespace XYZ; //I do not know about this

//class CCC
CCC::CCC(...) {};

void CCC::c1(...) {...};
void CCC::c2(...) {...};
void CCC::c3(...) {...};
}
}

, и мне нужно добавить константу, но Я не уверен, где это должно быть go.

namespace ABC {
namespape CDE {

namespace {
const DateTime today = 20200508;
} // 1st way

const DateTime today = 20200508;  // 2nd way

using namespace XYZ; //I do not know about this


//class CCC
CCC::CCC(...) {};

void CCC::c1(...) {... today ...};
void CCC::c2(...) {... today ...};
void CCC::c3(...) {... today ...};
}
}

Итак, все функции в этом классе CCC работают с этой датой, и я хотел бы создать константу.

1) Где лучше: 1-й или 2-й?

2) В чем разница между этими двумя местами? В обоих случаях он построен без ошибок, к вашему сведению.

3) Должно ли это объявление const go до или после этой строки: с использованием пространства имен XYZ?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...