use*_*151 26 c c++ pointers function-pointers declaration
我对的含义感到困惑void *function()。
它是指向函数的指针还是返回的函数void*?我一直在数据结构上使用它作为返回指针的递归函数,但是当我在多线程(pthread)中看到代码时,会有一个相同的函数声明。现在我很困惑他们之间有什么区别。
Vla*_*cow 38
该函数具有返回类型void *。
void *function();
Run Code Online (Sandbox Code Playgroud)
因此,在这种情况下,我总是喜欢将符号*与函数名称分开,例如
void * function();
Run Code Online (Sandbox Code Playgroud)
正如Jarod42注释中所 指出的,您可以使用尾随返回类型(如
auto function() -> void *;
Run Code Online (Sandbox Code Playgroud)
如果要声明指向函数的指针,则应编写
void ( *function )();
Run Code Online (Sandbox Code Playgroud)
要么
void * ( *function )();
Run Code Online (Sandbox Code Playgroud)
或指向函数的指针,该指针返回指向函数的指针
void * ( *( *function )() )();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1839 次 |
| 最近记录: |