Результаты поиска по запросу "static-cast"

3 ответа

+1 На самом деле одно место, где я использовал void указатель, было подходящим для использования интерфейса класса .. выглядит намного лучше после редактирования!

у код, и до сих пор я использовал такие структуры: struct s{ enum Types { zero = 0, one, two }; unsigned int type; void* data; }Мне нужна была некоторая общая структура для хранения данных из разных классов, и я хотел использовать ее в std :: ...

2 ответа

На некоторых архитектурах указатель может быть больше, чем просто адрес. Изменение типа указателя может изменить его битовую комбинацию, даже если он не изменяет указанный адрес.

ущем проекте стандарта (и C ++ 17),это [http://eel.is/c++draft/expr.static.cast#13]написано о static_castingvoid *: Значение типа «указатель наCV1 void »можно преобразовать в значение типа« указатель наCV2 T ”, где T - тип объекта иCV2 является ...

7 ответов

В чем разница между static_cast <> и кастом в стиле C?

ТОП публикаций

4 ответа

 доступен в C ++ 11.

вляется эквивалентомstatic_cast с участиемboost::shared_ptr? Другими словами, как мне переписать следующее Base* b = new Derived(); Derived* d = static_cast<Derived*>(b);когда используешьshared_ptr? boost::shared_ptr<Base> b(new Derived()); ...

1 ответ

Безопасность недействительного даункаста с использованием static_cast (или reinterpret_cast) для наследования без добавления членов

Мне было интересно, что стандарт говорит о безопасности следующего кода: class A { int v; }; class B: public A { }; // no added data member A a; B& b = static_cast<B&>(a);Очевидно, тип времени выполненияa являетсяAнеBТаким образом, актерский ...

3 ответа

Почему я не могу static_cast между char * и unsigned char *?

По-видимому, компилятор считает их несвязанными типами и, следовательно,

2 ответа

приведение к void * для передачи объектов в pthread в c ++

2 ответа

Что static_cast <T> делает с T &?

2 ответа

> Я хочу обратное преобразование: от двойного * до двойного []. Что вы не можете получить: указатель не содержит информацию о длине массива. Однако вы знаете, что этот массив всегда имеет два элемента, поэтому: вы можете обращаться с указателем как с именем массива: double * p = кое-что (); р [0] = 1,0; р [1] = 2,0; потому что по определению arrayname [index] равно * (arrayname + index)

аюсь узнать оstatic_cast а такжеreinterpret_cast. Если я прав, стандарт (9.2.18) говорит, чтоreinterpret_cast для стручка данных безопасно: Указатель на объект POD-struct, соответствующим образом преобразованный ...

6 ответов

C ++, статически определять базовые классы с разными адресами?

Если у меня есть производный класс с несколькими базами, каждый указатель this для каждой базы будет отличаться от указателя этого указателя производного объ...