由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ most vexing parse到底怎么回事?
相关主题
问一个函数指针的问题,c++C++函数里什么时候传入指针的引用和传入指针是不一样的?
auto_ptr, algorithm 混用问题,大侠们救我。头疼死了!在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
刚看完类这一章,有些大小问题,请指教,谢谢一道很奇怪的面试题
也问个二维数组的函数传递问题琢磨了一下c++ smart pointer,发现不能到处用
lisper老年工程师转行学C++的更新的问题
C++的smart pointer注定是个二流的东西inline functions in C++
C编译器为何允许一个函数在某个路径不返回值?[合集] C问题求助:如何强行从外部访问local static variable?
关于C++中const的问题C里, 如何快速的对一个数组清0
相关话题的讨论汇总
话题: 函数话题: int话题: vexing话题: c++话题: parse
进入Programming版参与讨论
1 (共1页)
A*******e
发帖数: 2419
1
下面的例子怎么会是函数声明呢?函数声明应该没有里面那对括号,B是类型才对吧。
A a(B());
B()是表达式,表达式出现在函数声明里没有意义啊。
s******u
发帖数: 501
2
通常如果把函数指针func作为函数foo的一个参数的话,可以这么写
int foo( int(*func)() )
{
return func();
}
然后作为函数指针,加不加这个*是没有区别的,所以简化成
int foo(int(func)()) { ... }
再接下来,函数的参数可以只给类型不给命名,表示我在函数内部不会使用到这个参数
,继续简化成
int foo(int()()) { ... }
因为没有函数变量的名字,所以第二个括号是可有可无的
int foo(int()) { ... }
把第一个int换成你这里的A,把第二个int换成你这里的B于是就有了
A a(B());
当然就是一个函数声明了

【在 A*******e 的大作中提到】
: 下面的例子怎么会是函数声明呢?函数声明应该没有里面那对括号,B是类型才对吧。
: A a(B());
: B()是表达式,表达式出现在函数声明里没有意义啊。

1 (共1页)
进入Programming版参与讨论
相关主题
C里, 如何快速的对一个数组清0lisper
急请教:用java实现解析parse一个log文件,多谢指点C++的smart pointer注定是个二流的东西
有适合存取lisp表达式的database吗?C编译器为何允许一个函数在某个路径不返回值?
问个关于正则表达式的超弱智问题...关于C++中const的问题
问一个函数指针的问题,c++C++函数里什么时候传入指针的引用和传入指针是不一样的?
auto_ptr, algorithm 混用问题,大侠们救我。头疼死了!在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的(转载)
刚看完类这一章,有些大小问题,请指教,谢谢一道很奇怪的面试题
也问个二维数组的函数传递问题琢磨了一下c++ smart pointer,发现不能到处用
相关话题的讨论汇总
话题: 函数话题: int话题: vexing话题: c++话题: parse