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

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()); ...

0 ответов

@ Джеймс Канзе - прости, ты прав. Я цитировал новейший черновик C ++ 0x.

е всего, это не дубликатПочему у нас есть reinterpret_cast в C ++, когда два сцепленных static_cast могут выполнять свою ...

1 ответ

static_cast и reinterpret_cast для std :: align_storage

Может кто-нибудь объяснить, пожалуйста, немного кода о приведении в http://en.cppreference.com/w/cpp/types/aligned_storage [http://en.cppreference.com/w/cpp/types/aligned_storage]пожалуйста? может следующий код return *static_cast<const ...

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

2 ответа

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

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

3 ответа

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

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

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Таким образом, актерский ...

1 ответ

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

У меня есть указательT * pValues что я хотел бы рассматривать какT (&values)[N] В этом так ответhttps://stackoverflow.com/a/2634994/239916 [https://stackoverflow.com/a/2634994/239916]Предлагаемый способ сделать это T (&values)[N] = ...