może wydaje się być głupie pytanie, ale naprawdę muszę to wyjaśnić:C++ const cast, nie wiem, czy to jest bezpieczne
Spowoduje to żadnego niebezpieczeństwa dla mojego programu?
Czy const_cast
jest jeszcze potrzebny?
Jeśli zmienię wartości wskaźników wejściowych w miejscu, czy będzie on działał bezpiecznie z std::string
, czy utworzy niezdefiniowane zachowanie?
Do tej pory jedyną obawą jest to, że może to wpłynąć na ciąg "some_text" za każdym razem, gdy zmienię wskaźnik wejściowy i sprawię, że będzie on niezdatny do użytku.
std::string some_text = "Text with some input";
char * input = const_cast<char*>(some_text.c_str());
Dzięki za danie mi kilka wskazówek, chciałbym uniknąć strzelać w moim stóp
Ogólnie rzecz biorąc, ponieważ 'const_cast' usuwa bezpieczeństwo, powinieneś unikać go tak bardzo, jak tylko możesz. – Mesop
Dzięki za wkład każdego ciała rozumiem teraz, że powinienem tego uniknąć, aby zachować bezpieczeństwo –