函数指针是指向函数的指针,该函数可以存储在变量中。它允许运行时选择运行哪个函数。
在 C 中,函数指针变量对于多线程(线程安全)(原子)总是定义/合法吗?
编辑:这个问题的意思是“函数指针在 C 标准中是原子的”。 变量(指向函数本身的指针)是线程安全的吗? 我的意思是,线程安全就是价值
是一个始终为多线程定义/合法的函数指针变量(线程安全)- C
变量(指向函数本身的指针)是线程安全的吗? 对于线程安全,我的意思是该值总是定义的吗? 就像它始终是一个合法值,一个现有函数的 adr。 (一些功能...
我正在编写一个具有多种存储类型('stypes')和多种数据类型('dtypes')的矩阵库(SciRuby 的一部分)。例如,矩阵的 stype 目前可能是稠密、耶鲁(又名“csr”)或...
将通用函数指针转换为带有指向不同类型的 void* 参数的特定签名是否定义良好
在下面的模拟示例中,我尝试构造一个 generic_processor 接口,其中调用者将对象指针传递到处理器中的 void* 参数中,并且调用者显式强制转换 &
这是最小的可重现示例: // my_func.h typedef 易失性结构 { 整数a; my_vdata_t; 类型定义结构{ 整数a; 我的数据t; extern void (*vfunc)(my_vdata_t* 数据); 外部声音...
我需要将成员函数的指针作为参数传递给其他函数。我使用 std::mem_fn 将它们包装在函数对象中。 有时成员函数有重载。我学到了两种语法
无法计算调用中 C++ 函数指针类型和实际 C++ 函数类型之间的类型差异
模板< class DATA_T > 类快速排序 { 民众: typedef int (*tComparator) (const DATA_T*, const DATA_T*); void SortAscending(DATA_T* 缓冲区, size_t 左, size_t 右,
我很难理解下面示例中关于成员函数的函数指针调用。 (f.*(FPTR) bp)(0); // 这个调用 b() (b.*(BPTR) fp)(0); // 这个调用...
我正在尝试为某些数据结构(数组,矩阵,custom_array,...)分配内存。我认为我面临的问题是我无法将正确的类型转换为传递的指针......
如何使用指向成员函数的指针作为结构体数据成员的字段来调用成员函数?
我正在尝试将 C 代码移植到 C++ 程序,从而将 C 程序的逻辑封装在 C++ 类中。我遇到的步骤是使用函数指针,它是结构体内部的一个字段...
如何使用宏作为函数指针?我不知道如何解决这个问题。我创建了一个草图(不起作用,充满语法错误)来展示我试图完成的任务。请帮忙! #定义 D0_OUT(x) (...
我想在设置函数指针的值时声明一个函数。 TypeScript 等效项: 让 fp: () => void; fp = () => { console.log(“来自内联函数声明的Hello...
无需在其他地方声明函数即可使用函数指针的任何方法 - C++
我想在设置函数指针的值时声明一个函数。 TypeScript 等效项: 让 fp: () => void; fp = () => { console.log(“来自内联函数声明的Hello...
这可以编译(尽管是 UB (对吧?)因为 fvp == nullptr) 整数 f; 无效* fvp{}; decltype(f)* fp = static_cast(fvp); 但这不能 无效 f() {} 无效* fvp{}; decltyp...
我有一个带有函数参数的函数定义: void ReadLogFile(void (*msgHandler)(String msg) = NULL) { ... 如果 (msgHandler) msgHandler(msg); ... } 我尝试称此为
我在 C++ 程序中有一个奇怪的 typedef 语句,由 Py++ 生成。 双半径(int); // 要包装的函数 typedef double (*radius_function_type)(int); // bp::def 是一个wrapp函数...
我对 功能的使用有点困惑。我不知道如何正确地将 va_list 传递给参数函数。这是我想要实现的目标的一个简化示例: #
为什么这段代码 int (*g)(int); int (*h)(字符); h = g; 在C中,编译时给我这样的警告: “警告:来自不兼容指针类型的赋值” 在C++中,无法编译。
如何将函数指针放入c结构中,而函数指针的输入参数是结构本身(即c中的“this”指针)
我试图在结构体中使用函数指针,而函数指针需要结构体本身的实例作为参数。我当前的代码片段如下所示: #include“stdio.h&
我可以使用其损坏的符号名称获取指向 CUDA 内核的设备端指针吗?
注意:如果文章看起来很长,可以直接跳到最后以“我想知道..”开头的部分,以防有人想跳过构建/上下文。 构建/上下文: 为了...