Witaj na forum IT Career. ITCareer.pl to forum dla programistów i specjalistów z branży IT. Znajdziesz tu informacje na temat języków programowania oraz możliwości rozwoju zawodowego i pracy dla specjalistów IT.

598 pytań

407 odpowiedzi

1 komentarz

184 użytkowników

Jak działa operator const_cast?

0 głosów
Prosiłbym o wytłumaczenie, do czego używa się tego operatora.
pytanie zadane 12 października 2014 w C++ przez użytkownika Deszczowiec (260)

1 odpowiedź

0 głosów

Służy on do jawnego rzutowania dla obiektów, które są stałymi (np: typu const char*) a potrzebujemy je wykorzystać w funkcji, która za argument przyjmuje obiekt, który jest tego samego typu, ale nie jest stałą.

Przykład z http://www.cplusplus.com/doc/tutorial/typecasting/ z drobnym komentarzem

#include <iostream>
using namespace std;
void print (char * str){ // [1]
  cout << str << '\n';
}

int main () {
  const char * c = "przykladowy tekst"; // [2]
  print ( const_cast<char *> (c) ); [3]
  return 0;
}

W [2] deklarujemy wskaźnik na stały łańcuch tekstowy.

W [3] dokonujemy rzutowania obiektu const char* na char*.

Dzięki temu w [1]  nie musi następować niejawne rzutowanie z typu stałego na typ zmienny.

Rzutowanie może być też w drugą stronę (jeżeli funkcja potrzebuje argumentu typu const, a chcemy przekazać do niej zmienną).

odpowiedź 14 listopada 2014 przez użytkownika kejn04 (700)

Podobne pytania

0 głosów
0 odpowiedzi
pytanie zadane 19 października 2014 w Java przez użytkownika Boolean (230)
+1 głos
1 odpowiedź
pytanie zadane 11 października 2014 w C++ przez użytkownika Malpet (390)
0 głosów
1 odpowiedź
pytanie zadane 19 października 2014 w C++ przez użytkownika Bartosz7 (390)
0 głosów
0 odpowiedzi
pytanie zadane 19 października 2014 w C++ przez użytkownika Tesor00 (340)
+1 głos
1 odpowiedź
pytanie zadane 18 października 2014 w C++ przez użytkownika Jacek00 (430)
...