Вопросы по теме 'static-cast'
Зачем заниматься static_cast-преобразованием числа в двойное?
Наткнулся на это в коде, над которым я работаю:
double part2 = static_cast<double>(2) * somthing1
* ( static_cast<double>(1) + something2 )
+ ( static_cast<double>(1) / static_cast<double>(2) ) * something3
+ (...
972 просмотров
schedule
29.10.2022
Накладные расходы времени выполнения C ++ static_cast
См. Код ниже.
a) Имеет ли в этом случае (простое наследование, без виртуальных членов) статическое приведение в B :: df () какие-либо накладные расходы (какие бы то ни было)? Я нашел несколько противоречивых ответов на подобные вопросы, поэтому и...
12883 просмотров
schedule
23.02.2022
Как реализовать static_cast в C++
Я пытаюсь использовать библиотеку чисел GMP вместе с библиотекой матриц Eigen. Я пытаюсь создать экземпляр шаблона:
Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>
с
Matrix<mpz_class, 3, 3> matrix;...
1800 просмотров
schedule
04.10.2022
статическое приведение от базового класса к производному
Мне что-то непонятно, я хочу обратить ваше внимание, пожалуйста, проверьте эти фрагменты кода:
template< typename DerivedClass >
class construction_management
{
city* this_city;
public:
construction_management()
{...
1874 просмотров
schedule
25.11.2022
Что происходит, когда static_cast из производного класса в базовый класс?
При чтении стандарта C++ я прочитал, что static_cast является своего рода прямой инициализацией (стандарт C++ 8.5/15). Я думаю, это означает, что во время static_cast соответствующий перегруженный конструктор . Например, есть тип B и тип D,...
720 просмотров
schedule
20.10.2022
c++, static_cast ‹int› вычисления с плавающей запятой и возможной потери целых чисел
Со следующим кодом:
int ten{ 1 };
double zeroPnine{ 0.9 };
cout << ten - zeroPnine << endl; // 0.1
cout << (ten - zeroPnine) * 10 << endl; // 1
cout << static_cast <int>(ten - zeroPnine)...
271 просмотров
schedule
03.06.2023
Почему присваивание выполняется медленнее при неявном преобразовании?
Если были подобные вопросы, пожалуйста, направьте меня туда, я некоторое время искал в тишине, но ничего не нашел.
Фон:
Я просто играл и обнаружил некоторое поведение, которое я не могу полностью объяснить... Для примитивных типов это похоже на...
100 просмотров
schedule
03.04.2023
static_cast унаследовал этот объект от базового класса в C++
При чтении статьи 27 "Минимизируйте приведение в Effective C++ " говорится, что не пытайтесь использовать static_cast для приведения *this в производном классе к базовому классу. Это потому, что static_cast<Base>(*this) создаст...
3976 просмотров
schedule
23.07.2023
С ++ 11 Приведение перечислений к целым
У меня есть типизированное перечисление
enum side : int {_white=0,
_yellow=1,
_green=2,
_blue=3,
_red=4,
_orange=5};
Однако при использовании gcc-5...
257 просмотров
schedule
18.02.2023
Вызов метода после недопустимого приведения в стиле C работает
Поэтому я пытаюсь узнать немного больше о различиях между C-style-casts , static_cast , dynamic_cast , и я решил попробовать этот пример, который должен отражать различия между приведениями в стиле C и > static_cast неплохо....
86 просмотров
schedule
20.03.2022
CGAL static_cast сбой
Для своей диссертации я использую код CGAL, написанный другим студентом год назад. Однако я не могу заставить его построить.
Функция, которая выдает ошибки, следующая:
std::set<Curve_handle> originatingCurves(PL_Arrangement arrangement,...
122 просмотров
schedule
12.12.2022
Почему статическое приведение съедает ссылку?
Рассмотрим следующий код:
struct base {};
struct derived : public base {};
int main() {
derived d = {};
derived* ptr_d = &d;
derived*& ref_ptr_d = ptr_d;
base*& ref_ptr_b = static_cast<base*&>(ref_ptr_d); //...
48 просмотров
schedule
17.08.2022
Разница между функциональной нотацией приведения T (x) и static_cast ‹T› (x)
(Я знаю, что это очень похоже на некоторые другие вопросы здесь, но я не нашел ни одного, чтобы конкретно, с точки зрения языка, ответить на эту точную деталь . Большинство почти дубликатов просто спрашивают, действительно ли они должны использовать...
699 просмотров
schedule
17.08.2022
static_cast для ссылок на r-значение и std::move меняют свой аргумент при инициализации
Следующий простой код показывает, что static_cast к ссылочному типу r-value и std::move могут изменить свой входной аргумент (здесь переменная inupt ) в операторе инициализации в зависимости от типа инициализируемого объекта. Может кто-нибудь...
136 просмотров
schedule
17.04.2023
Когда `static_cast‹Base*›(static_cast‹void*›(derived))` из указателя на производный класс действителен?
В этом вопросе не должно быть полиморфизма, т.е. никаких виртуальных методов, никаких виртуальных базовых классов. На всякий случай, если это имеет значение, мой случай не связан ни с одним из них.
Предположим, у меня есть класс Derived , у...
167 просмотров
schedule
08.11.2022
Почему `decltype(static_cast‹T›())` не всегда `T`?
Для следующего кода проходят все утверждения, кроме последнего:
template<typename T>
constexpr void assert_static_cast_identity() {
using T_cast = decltype(static_cast<T>(std::declval<T>()));...
846 просмотров
schedule
22.06.2022
enable_if в конструкторе преобразования (статическое приведение, is_base_of)
Я работаю над реализацией общего указателя. (используя С++ 17, если это имеет значение)
Единственная проблема - конструктор преобразования. Я хочу иметь возможность статического преобразования smart_ptr в smart_ptr базового типа....
62 просмотров
schedule
29.11.2022
Лучший способ в С++ приводить разные типы подписи друг к другу?
Существует поле данных uint64_t, отправленное узлом связи, оно содержит идентификатор заказа, который мне нужно сохранить в базе данных Postgresql-11, которая НЕ поддерживает целочисленные типы без знака. Хотя реальные данные могут превышать 2 ^ 63,...
89 просмотров
schedule
13.06.2022