О модификаторе const подробнее...

 

 В документации сказано, что:

Спецификатор const неприменим к членам структур и классов.

 Но я использую данный модификатор в членах классов. Получается что данный модификатор всё-таки применим?

 Что имеется в виду в данном моменте? 

Да что там у меня... Вот тут тоже  пользуются, в той же документации...

//+------------------------------------------------------------------+
//| Класс "Стек" для хранения обрабатываемых данных                  |
//+------------------------------------------------------------------+
class CStack
  {
public:
                     CStack(void);
                    ~CStack(void){};
...
private:
   static const int  s_max_length; // максимальная емкость стека
  };
 
//--- инициализация статической константы класса CStack
const int CStack::s_max_length=1000;

 Здесь s_max_length типа не член класса?

 
Наверное нестатические имеются в виду.
 
TheXpert:
Наверное нестатические имеются в виду.

Самое главное, наверное... :) Видать не тока я не понял

 Ещё момент такой:

Метод с модификатором const называется постоянным и не может модифицировать неявные члены своего класса

 Что имеется в виду под неявными членами? Получается, что явные члены всё же модифицировать возможно в методах с модификатором const ?

 
hoz:

Самое главное, наверное... :) Видать не тока я не понял

 Ещё момент такой:

 Что имеется в виду под неявными членами? Получается, что явные члены всё же модифицировать возможно в методах с модификатором const ?


возможно имелось в виду про mutable поля класса - в С++ их можно модифицировать из константных методов.

По личному опыту скажу так:

Если хотите изучить ООП - забейте на mql и идите в С++ (Прата или Страуструп, это авторы книг).

Там доходчивее все разжевано, меньше ошибок (хотя тоже есть) и более объемно все описано.

Так же помогают понять основы ООП короткие тесты.

Но главное практика. 

 
hoz:

 Что имеется в виду под неявными членами? Получается, что явные члены всё же модифицировать возможно в методах с модификатором const ?

Кто-то эмм ленивый наверное переводил какую-то справку гуглем видимо с С++ справки )

Метод с модификатором const называется константным и не может неявно модифицировать члены своего класса (кроме mutable коего в mql нет)

 
ALXIMIKS:


Если хотите изучить ООП - забейте на mql и идите в С++ (Прата или Страуструп, это авторы книг).

Там доходчивее все разжевано, меньше ошибок (хотя тоже есть) и более объемно все описано.

Сам лично покупал бумажные варианты Стивена Праты  и Дейтелов "Как программировать на Си( С++ )". А качал вообще много чего. Читаю иногда Страуструпа, но на долго меня не хватает, т.к. понимаю далеко не всё..

 А вообще, читая первоисточники, всё же нет гарантии, что в мкл это тоже реализуемо т.к. я знаю, что много чего тут точно нет. Потому и задаю периодически вопросы касаемо документации мкл. 

Причина обращения: