Результаты поиска
В чем смысл предупреждения о безопасности типа в некоторых приведениях Java дженериков?
В чем смысл предупреждения Java ?
Безопасность типов: приведение от объекта к List<Integer> фактически проверяется по списку стираемых типов
Я получаю это предупреждение, когда пытаюсь привести объект к типу с общей информацией, например, в следующем коде:
Object object = getMyList();
List<Integer> list = (List<Integer>) object;
Завсегдатаев и метод static_cast и динамическое приведение dynamic_cast
Я пишу код C и C++ уже почти двадцать лет, но есть один аспект этих языков, который я никогда по-настоящему не понимал. Я, очевидно, использовал обычные слепки.
MyClass *m = (MyClass *)ptr;
повсюду, но, кажется, есть еще два типа слепков, и я не знаю разницы. В чем разница между следующими строками кода?
MyClass *m = (MyClass *)ptr;
MyClass *m = static_cast<MyClass *>(ptr);
MyClass *m = dynamic_cast<MyClass *>(ptr);
Каковы некоторые примеры 'good use' динамического кастинга?
Мы часто слышим / читаем, что следует избегать динамического кастинга. Мне было интересно, каков будет 'good use' примеров этого, по вашему мнению?
Редактировать:
Да, я знаю об этой другой теме : действительно, читая один из первых ответов там, я задал свой вопрос!