class A{
private:
string a;
public:
A():a("hello world"){};
A(const string & arg):a(arg){};
void put()const{cout<<a;};
};
A aaa();
A bbb;
Run Code Online (Sandbox Code Playgroud)
那么,有什么之间的区别A aaa();和A bbb;是aaa一个功能?
如何定义返回函数指针的函数指针?
typedef int(*a)(int,int);
a (*b)(int,int);
Run Code Online (Sandbox Code Playgroud)
为什么这可以工作,但以下不能工作?
(int(*a)(int,int) ) (*b)(int,int);
Run Code Online (Sandbox Code Playgroud)
或者
int(*)(int,int) (*b)(int,int);
Run Code Online (Sandbox Code Playgroud)
或者
( int(*)(int,int) ) (*b)(int,int);
Run Code Online (Sandbox Code Playgroud) #include<iostream>
using namespace std;
int *p = NULL;
void
fun(void){
int i = 10;
p = &i;
}
int
main(void){
fun();
cout<<*p<<endl; //#1
cout<<*p<<endl; //#2
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我认为#1和#2输出相同,但为什么#1输出10和#2输出一个随机数?