С ++ и объектно-ориентированное в изменяемом сопзЬ

С ++ и объектно-ориентированное в изменяемом сопзЬ

В этой статье я запись для объектно-ориентированного сопзЬ (постоянного) и изменчивых (переменного) понимается

Const

  1. константные функции-члены прикладывают к спине (и указано в декларации и определения)

Идея заключается в том, чтобы сообщить компилятору, что эта функция не изменяет содержимое членов класса объекта класса. Посмотрите на код:

int sum(const Test &t){
	int start = t.beg_pos();
	int len = t.length();
	int res = 0;
	for(int i=0;i<len;++i){
		res += t.elem(start+i);
	}
	return res;
}

Код класса Т константные исходные параметры, так что мы должны убедиться , что т не будут изменены при вызове функции т. Но вызов функции, компилятор не знает , какая функция будет изменять содержимое т. Следовательно, он должен решить , нужно ли повышать сопзЬ, чтобы сообщить компилятору , будет ли эта функция изменить содержимое объекта после функции.
(Хотя компилятор не анализирует каждую функцию она является сопзЬ или неконстантным, но объявлен как сопз функции, он будет проверять , если какие - либо содержимое изменения объекта)

  1. В соответствии с функцией члена может быть перегружена или нет Const

Ниже эта категории мы предлагаем версию сопзИ и неконстантные функции версии Вала.
Неконстантная объект будет вызывать неконстантную версии (изменение содержимого объекта, не имеет значения), и будет вызывать версию константного объекта константной.

class Test{
public:
	Test(const MyTest& val)
		:_val(val){}
	const Test& val()const{ return _val};
	Test& val(){ return _val};
private:
	MyTest _val;
};

изменчивый

В константный объект, мы не хотим, чтобы изменить содержимое объекта. Но в некоторых классах, которые мы должны сделать подобную проходимому изменение операции некоторых переменной, но на этот раз будет конфликтовать с Устами. Это то, что мы можем добавить перед изменяемых переменных, чтобы сообщить компилятору, чтобы изменить эту переменную не уничтожает объект постоянного секса.

Опубликовано 51 оригинальные статьи · вона похвала 6 · просмотров 6298

рекомендация

отblog.csdn.net/weixin_40859716/article/details/104383016
рекомендация