Вопросы по теме 'reinterpret-cast'
Проблема с использованием reinterpret_cast‹› в С++
Я пытаюсь преобразовать поток данных в структуру, поскольку поток данных состоит из сообщений с фиксированной шириной, и каждое сообщение также имеет полные определенные поля с фиксированной шириной. Я планировал создать структуру, а затем...
1831 просмотров
schedule
10.08.2022
Есть ли хороший способ конвертировать из unsigned char* в char*?
В те дни я много читал о reinterpret_cast<> и о том, как его следует использовать (и избегать его в большинстве случаев).
Хотя я понимаю, что использование reinterpret_cast<> для приведения, скажем, unsigned char* к char* ,...
1219 просмотров
schedule
30.12.2022
Хранится ли std::complex с чередованием?
То есть на диске, если у меня есть массив std::complex , он хранится RIRIRIRI или RRRRIIII или что-то еще?
Мой реальный вопрос: если у меня есть определенная мной структура, содержащая два числа, могу ли я выполнить переинтерпретацию массива...
1932 просмотров
schedule
24.03.2024
Нарушает ли доступ к первому полю структуры через приведение C строгое сглаживание?
Нарушает ли этот код строгое сглаживание?
struct {int x;} a;
*(int*)&a = 3
Говоря более абстрактно, допустимо ли приведение типов между разными типами, если примитивные операции чтения/записи имеют правильный тип?
2027 просмотров
schedule
02.10.2022
Сделать взаимозаменяемые типы классов только с помощью приведения указателя, без необходимости выделения каких-либо новых объектов?
ОБНОВЛЕНИЕ : я ценю предложения "не хочу этого, вместо этого хочу это". Они полезны, особенно когда предоставляются в контексте format-database-m">мотивирующий сценарий . Тем не менее... независимо от того, хорошо это или плохо, мне стало...
1264 просмотров
schedule
26.05.2022
c++, структура reinterpret_cast* в unsigned char*
Сначала извиняюсь за свой английский :) Итак, у меня есть структура и переменная
typedef struct
{
GHEADER m_Header;
BYTE *m_Buf;
Addr *m_Abonent;
}__attribute__((packed)) PACKET;
unsigned char* uc_ptr;
Мне нужно отправить...
1026 просмотров
schedule
11.10.2022
Эквивалент reinterpret_cast C++ в C#
Интересно, что эквивалентно reinterpret_cast C++ в C#!?
Вот мой образец:
class Base
{
protected int counter = 0;
}
class Foo : Base
{
public int Counter
{
get { return counter; }
}
}
Base b = new Base();
Foo f = b as...
9998 просмотров
schedule
06.07.2023
реинтерпретировать_приведение к указателю на функцию
Вот код, который я написал для экспериментов с reinterpret_cast<T>
#include <iostream>
#include <cstdlib>
using std::cout;
using std::endl;
int foo()
{
cout << "foo" << endl;
return 0;
}
void (*bar)();...
4491 просмотров
schedule
21.05.2024
Является ли это законным использованием reinterpret_cast, и если нет, то как мне это сделать?
Этот код демонстрирует проблему, которую я пытаюсь решить:
#include <map>
class Point
{
public:
float m_x;
float m_y;
};
typedef std::set<Point *> PointSet;
typedef std::set<const Point * const> ConstPointSet;
float...
203 просмотров
schedule
05.01.2023
Дает ли переинтерпретация_приведения интеграла к типу указателя и обратно одно и то же значение?
Согласно http://en.cppreference.com/w/cpp/language/reinterpret_cast , Известно, что reinterpret_cast указатель на интеграл достаточного размера и обратно дают одно и то же значение. Мне интересно, верно ли обратное по стандартам. То есть, дает...
283 просмотров
schedule
13.04.2024
reinterpret_cast, std::aligned_storage и новое размещение
Рассмотрим следующий объект:
std::array<std::aligned_storage_t<sizeof(T), alignof(T)>, size> container;
Если я уже назвал размещение нового для первого элемента этого массива, я считаю вполне приемлемым сделать следующее:...
609 просмотров
schedule
10.12.2022
Что происходит здесь, в этой программе на C++?
Я читал эту прекрасную статью Использование и злоупотребление правами доступа . . Я не понял следующий пример из этого.
Файл: x.h
class X
{
public:
X() : private_(1) { /*...*/ }
template<class T>
void f( const T& t ) {...
153 просмотров
schedule
05.11.2022
reinterpret_cast вектор указателей на вектор указателей на базовый класс
Рассмотрим следующий фрагмент кода
#include <algorithm>
#include <iostream>
#include <memory>
#include <vector>
struct Base {
int x;
Base(int x) : x(x) {}
};
struct Derived : public Base {
int y, z;...
1549 просмотров
schedule
13.03.2023
Почему reinterpret_cast не работает, а memcpy работает?
Я пишу код сокета и на основе некоторых параметров использую либо IPv4, либо IPv6. Для этого у меня есть такой код:
struct sockaddr final_addr;
...
struct sockaddr_in6 addr6;
...
memcpy(&final_addr, &addr6, size);
...
bind(fd,...
515 просмотров
schedule
23.07.2022
reinterpret_cast в массив переменного размера
Итак, похоже, что я могу использовать reinterpret_cast , чтобы указать моему компилятору ( Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) ) обрабатывать указатель как массив массивов:
void f(int *p, size_t n, size_t m) {
auto a...
874 просмотров
schedule
09.05.2023
Безопасно ли преобразовывать шаблонную лямбду в `void *`?
Я работаю над реализацией волокон с использованием сопрограмм, реализованных на ассемблере. Сопрограммы работают cocall для изменения стека.
Я хотел бы показать это на С++, используя интерфейс более высокого уровня, поскольку сборка cocall...
415 просмотров
schedule
08.06.2022
реинтерпретация_приведения вектора одного типа к вектору другого типа того же типа
Я не уверен, что вопрос здесь отвечает на этот вопрос из-за странной формулировки, но:
если бы у меня был:
struct numpair
{
some_type_with_a_size_of_2 a,b;
};
struct bignum
{
some_type_with_a_size_of_4 a;
};
Могу ли я...
563 просмотров
schedule
27.04.2023
Разыменование указателя с каламбуром типа
Я играл с атомарной реализацией в C++. У меня есть приведенный ниже фрагмент кода из вышеупомянутого сообщения SO:
#include <atomic>
#include <cstdint>
#include <iostream>
template <class value_t, class block_t> struct...
129 просмотров
schedule
23.09.2022
dynamic_cast обратно к тому же типу объекта завершается ошибкой с множественным наследованием и промежуточной переменной
Предположим, есть иерархия с двумя несвязанными полиморфными классами PCH и GME , подклассом PCH_GME : public GME, public PCH и объектом gme_pch типа PCH_GME* .
Почему следующая последовательность приведения gme_pch "ломает" приведение к...
147 просмотров
schedule
13.09.2022
Перебор всех значений с плавающей запятой с помощью Java
Я разрабатываю математическую функцию и хотел бы проверить ее вывод при каждом значении с плавающей запятой в пределах диапазона. Я уже делал это на C++, но теперь хочу сравнить производительность с Java. Как перебрать все значения с плавающей...
783 просмотров
schedule
19.03.2023