Я собираюсь создать класс для хранения длинного списка параметров, которые будут переданы функции. Давайте использовать этот сокращенный пример:C++ частный указатель «утечка»?
class ParamList{
public:
ParamList(string& a_string);
string& getString(); //returns my_string
private:
string& my_string;
}
Мой вопрос заключается в следующем: my_string является частным, но я возвращает ссылку на него. Разве это не называется чем-то вроде личного указателя, протекающего в C++? Разве это не хорошая практика программирования? Я хочу, чтобы получатели getString могли получить ссылку, а также изменить ее.
Пожалуйста, дайте мне знать.
Спасибо, JBU
edit1: звонящие будут использовать GetString() и изменить строку, которая была возвращена.
Имея ссылки в качестве членов, это сомнительная практика, если вы точно не знаете, что делаете. Но я не вижу указателей в этом коде. – 2010-04-12 21:55:56
ОК. Я не знаю, что я делаю. Что, если my_string был указателем, а getString возвратил указатель на строку? – jbu
Он все равно должен возвращать 'const string *' – David