#include <iostream>
using namespace std;
int (*ptr)(int a,int b);
int fun(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
int fun3(int a)
{//传的是副本
cout<<"****"<<endl;
return a+100;
}
int main()
{
ptr=fun;。。。。。。函数指针,本质是指针,和所指函数有相同的返回类型和参数列表
int a=0,b=0;
for(int i=0;i<6;i++)
{
cin>>b;
a=ptr(a,b);
}
cout<<a<<endl;
fun3(a);
cout<<a<<endl;
}
指针函数
返回指针的函数
#include <iostream>
#include<string>
using namespace std;
char *fun(string str)
{
int len=str.length();
char *str2=new char[len+1];
for(int i=0;i<len;i++)
{
str2[i]=str[i];
}
str2[len]=' ';
return str2;
}
int main()
{
string s="what is the fuck";
cout<<fun(s)<<endl;
}
注意c++中字符串以‘ ’结尾,,,上述若不加str2[len]=' ';则cout<<fun(s)<<endl;可能会多输出很多没用的乱码
还有c++类中的成员变量禁止初始化。私有变量不得直接访问
知识补充:为转载内容