Вопросы по теме 'void-pointers'
Концепция пустого указателя в программировании на C
Можно ли разыменовать указатель void без преобразования типов в языке программирования C?
Кроме того, есть ли способ обобщить функцию, которая может получать указатель и сохранять его в указателе void, и, используя этот указатель void, можем ли мы...
208550 просмотров
schedule
26.07.2022
Безопасно ли удалять пустой указатель?
Предположим, у меня есть следующий код:
void* my_alloc (size_t size)
{
return new char [size];
}
void my_free (void* ptr)
{
delete [] ptr;
}
Это безопасно? Или ptr нужно преобразовать в char* перед удалением?
63121 просмотров
schedule
22.01.2023
Построение функции python, вызываемой из C, с входным параметром, имеющим семантику *output*
Вариант использования следующий:
Учитывая (фиксированную, неизменяемую) DLL, реализованную на C
Требуется: оболочка для этой DLL, реализованная на python (выбранный метод: ctypes)
Некоторым функциям DLL нужны примитивы синхронизации....
1811 просмотров
schedule
11.02.2023
Создание экземпляра структуры из буфера указателя void
Вот код на C++, который мне кажется забавным, но я знаю, что он работает.
Определена структура, и в программе мы выделяем память с помощью указателя void. Затем структура создается с использованием выделенного буфера.
Вот код
typedef...
1383 просмотров
schedule
23.05.2022
Является ли приведение целочисленного значения к void* часто используемой парадигмой в обратных вызовах?
Вместо того, чтобы отправлять фактический указатель на значение, значение приводится к указателю. Я нашел эти примеры в коде интерфейса GUI программы GTK.
g_signal_connect (pastebutton[pane],
"clicked",...
516 просмотров
schedule
01.09.2023
Указатель пользователя Ncurses
Я пытаюсь изучить ncurses и читаю потрясающее руководство здесь , но пример с указатели пользователей не компилируется. Я получаю эту ошибку, когда пытаюсь скомпилировать.
menu.cpp: In function 'int main()':
menu.cpp:44: error: invalid...
1316 просмотров
schedule
11.07.2022
Каков правильный способ приведения при использовании ATL и IUnknownPtr?
Во время модификации существующего COM-объекта ATL я наткнулся на статью из блога «The Old New Thing» под названием «Как люди путают IUnknown::QueryInterface», и в разделе комментариев было обсуждение, которое началось, когда один из респонденты...
2006 просмотров
schedule
03.02.2023
Приведение void* к NSString* без stringWithCString
У меня есть программа, которая взаимодействует со связкой ключей. Вы передаете указатель на указатель void, и цепочка для ключей направляет его, я думаю, на пароль, вы также передаете указатель UInt32, и он будет указывать на длину пароля.
Затем...
2606 просмотров
schedule
02.02.2023
указатели boost::variant и void*
Мне нужен вариантный тип, который содержит экземпляры любого определяемого пользователем класса. Поэтому я использую void*:
typedef boost::variant<void*, int, float, std::string> Tvariant;
Я создал класс-оболочку с картой:
typedef...
2056 просмотров
schedule
09.09.2022
Как я могу заменить указатель void чем-то, что имеет проверку типа времени компиляции в этом обратном вызове?
Я пытаюсь создать систему событий с уведомлениями через обратные вызовы. У меня есть написанный код, но он зависит от указателей void для работы. После того, как жесткие указатели void укусили меня в моем последнем проекте, я хотел бы заменить...
1619 просмотров
schedule
06.11.2022
Кто-нибудь может объяснить, что это означает? недействительным (* функция) ();
У меня есть структура, в которой есть элемент, обозначенный как void (*func)(); . Я знаю, что указатели void обычно используются для указателей на функции, но я не могу определить функцию. Я продолжаю получать dereferencing pointer to incomplete...
1778 просмотров
schedule
07.12.2022
Что такое указатель void в C++?
Возможный дубликат: Что такое пустой указатель и нулевой указатель?
Я часто вижу код, похожий на следующий:
void * foo(int bar);
Что это значит? Означает ли это, что он может вернуть что угодно ? Это похоже на dynamic или...
113961 просмотров
schedule
15.07.2022
Как проверить, можно ли безопасно привести указатель void* к чему-то другому?
Скажем, у меня есть эта функция, которая является частью некоторого инструментария графического интерфейса:
typedef struct _My_Struct My_Struct;
/* struct ... */
void paint_handler( void* data )
{
if ( IS_MY_STRUCT(data) ) /* <-- can I do...
8219 просмотров
schedule
19.02.2023
Вектор указателей на экземпляры шаблонного класса
Я реализую систему выполнения задач, которая поддерживает буферы для пользовательских объектов различных типов. Кроме того, все объекты оборачиваются перед сохранением в буферах. Поскольку среда выполнения не знает типы объектов, которые предоставит...
927 просмотров
schedule
12.12.2022
Взаимодействие между классами iOS NSObject и UIViewController
У меня есть два класса: class1, который является NSObject, и class2, который является UIViewController... Из UIViewController я отправил что-то в class1, чтобы заставить его выполнить действие:
[class1 doVoidAction];
и в классе 1 у меня есть:...
567 просмотров
schedule
22.09.2022
Boost.Python: заполнить переданный буфер в Python
Мне было интересно, можно ли заполнить буфер (со следующими условиями) в Python, и если да, то как?
У меня есть буфер на C++, который мне нужно заполнить на Python. Адрес буфера получается с помощью метода GetAddress , который возвращает...
1091 просмотров
schedule
28.06.2023
Передача произвольных данных в функцию без пустых указателей
Я работаю с абстрактным базовым классом, реализующим набор системных тестов. В упрощенном виде объявление класса выглядит так:
class Test_Class
{
Test_Class();
~Test_Class();
Run_Test(void * param_set = NULL) = 0;
}
Базовый...
709 просмотров
schedule
09.04.2023
Есть ли в C общий указатель на тип указателя?
Например, если бы я хотел написать «бесплатно», обнуляющий указатель, я мог бы написать что-то вроде:
void myfree(void **data) {
free(*data);
*data = NULL;
}
однако, когда я пытаюсь написать это, я получаю предупреждение компилятора...
299 просмотров
schedule
12.02.2024
Проблемы с изменением значения указателя void в C
В основном моя проблема в том, что я пытаюсь изменить значение внутри переменной valor , чтобы после вызова функции cambiar_valor оно изменилось на 25. Но моя проблема в том, что оно вообще не меняется. Что я здесь делаю неправильно? Я пытаюсь...
3096 просмотров
schedule
29.10.2022
Что означает объявление void** на языке C?
Я начинаю изучать C и читаю следующий код:
public void** list_to_array(List* thiz){
int size = list_size(thiz);
void **array = malloc2(sizeof(void *) * size);
int i=0;
list_rewind(thiz);
for(i=0; i<size; i++){...
5443 просмотров
schedule
16.05.2023