MyTetra Share
Делитесь знаниями!
Константные методы, константные указатели, константные ссылки в C++, краткие примеры
Время создания: 14.08.2015 22:44
Автор: Fluorite
Текстовые метки: c++, константа, const, метод, указатель, ссылка, переменная, пример
Раздел: Компьютер - Программирование - Язык C++ (Си++)
Запись: xintrea/mytetra_syncro/master/base/143957789531be6odu8x/text.html на raw.github.com

Как читать объявления константных методов и константных указателей в C++?


Это довольно просто. Вот несколько примеров.



class A

{

public:

void foo(); // обычный метод

void bar() const; // константный метод, т.е. не может менять члены класса A

const int baz(); // метод, возвращающий константу

}



Описание переменных и указателей. Если есть *, то условно читаем справа налево:



T t1; // обычная переменная типа T

const T t2; // константа типа T

T* t3; // указатель типа T

T* const t4; // константный указатель (не может указывать на другую область памяти)

const T* t5; // указатель на константу (не можем менять значение, лежащее по адресу через этот указатель)

const T *const t6; // константный указатель на константу



Описание ссылок и их использование:



int i;

const int &r = i; // Создается ссылка на значение, которое дальше нельзя менять

// (тонкий момент, сама переменная i - не константа)


int x = r + 5; // Действие допустимо

i = 7; // Действие допустимо

r = 12; // Ошибка! Это действие вызовет ошибку при компиляции


const int j = 5;

int &jr = j; // Ошибка! Нельзя ссылаться на константу обычной ссылкой

const int &jcr = j // Все в порядке, ошибки нет



Так же в этом разделе:
 
MyTetra Share v.0.64
Яндекс индекс цитирования