C++/Ключові слова/const cast
< C++ | Ключові слова
C++. Ключове слово const_cast можна використовувати, щоб усунути кваліфікатори доступу const or volatile у об'єкта, тобто привести тип, що має такі кваліфікатори, до типу без них. Вихідний тип даних, до якого виконується приведення, має бути таким самим як і тип початкової змінної, але він не має повторювати кваліфікатор const. Вихідний тип має бути посиланням або вказівником.
- Синтаксис
TYPE* const_cast<TYPE*> (object);
TYPE& const_cast<TYPE&> (object);
Наприклад, наступний код використовує оператор const_cast для усунення кваліфікатору const у об’єкта:
class Foo {
public:
void func() {} // не константна функція член класу
};
void someFunction( const Foo& f ) {
f.func(); // помилка компіляції: не можна викликати не константну функцію
// з константним посиланням
Foo &fRef = const_cast<Foo&>(f);
fRef.func(); // Гаразд
}