永发信息网

C++ 函数签名有两个括号是什么意思?

答案:1  悬赏:0  手机版
解决时间 2021-01-29 15:39
C++ 函数签名有两个括号是什么意思?
最佳答案
参数就是函数传入的初始变量值,比如int func(int a); 其中a就是参数,此时叫形式参数,只是表明参数的类型。当你调用时,比如func(1);这个1就是个实际参数,表明把1作为func的参数自变量就是所谓的默认参数。当一个函数你使用的时候,可能要传不同的值,但是你还要有个默认值,就是没有参数的时候也用这个值。
  比如一个函数计算圆的周长,para表示圆周率,默认用3.14,但是有时候你可能要精确计算,就要让para=3.1415926, int func(int a,int para= 3.14)这样,当你使用的时候,如果不给para赋值,只写func(3),那么实际上编译器写进去的就是func(3,3.14)当你需要用其他值的时候自行传入。但有一点需要注意的是,当你有多个默认参数的时候,函数只支持从右往左的默认参数,比如int func(int a,int b=1,int c=2);这样是可以的,但是int func(int a=1,int b,int c=2)就不行了,这和参数入栈顺序有关。
  所以要写默认参数,就要放在最右边 函数签名就是编译器给函数的一个标签,就好像是你买食品上的配方一样。比如 int func(int a,int b); 编译器不关心a和b,他俩只是个代号而已,只关心函数的返回类型和参数类型,所以函数签名编译器就写成了int func(int,int); 这个在C++里面主要和函数重载有关系,当你的函数名相同时,只要函数签名不同编译器就认为你重载了函数,就不会报错,同样签名函数的两个函数会被报错。追问这个回答虽然也让我学习了一下,不过不是我的问题啊,我的问题就是
bool operator() (XXX),有两个括号,前一个无参,后一个有参,这个是什么意思?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
天津卫视演的电视剧勇敢的心演到第几集了
牧牧咖啡馆(文化路店)地址在哪,我要去那里办
matlab中,使文本中第一列数字为横轴,第二列
求一本耽美小说,男主穿越到古代变太子,与腹黑
有一个重为20牛的物体的小物体放在斜面上tan
根号7.2=2.638,则根号720=
我是在上海工作的,工资税前3500,五险一金按
F16战斗机肚子下的炸弹形状的东西是什么?就是
吉利远景汽车整车喷漆烤漆多少钱
Rodicoco加勒比海盗主题休闲吧地址在什么地方
布覆的意思是什么啊?知道的请说下!
【十二月一日猜字谜】十二月一日是什么字我说
教师好考还是事业单位好考?
税务大厅机器上报税成功后是不是包括清卡了?
射洪县民政局地址好找么,我有些事要过去
推荐资讯
耶稣降生时的星星名字
四年级英语 look,circle,read and writy do
男孩,2岁,因腹部隆起就诊,饮食、大小便等
逆光拍相产生圈圈影响画质吗,用d90相机,潘
“经济开发区”是我国近年来城市经济发展的“
【医学博士读几年】医学类博士大概需要几年完
红旗公寓(运城盐湖区)怎么去啊,我要去那办事
纱巾的意思是什么啊?知道的请说下!
梦见仇人的母亲抓自己的脖子
在携程网上定好的机票,已经付完款了,请问可
章光101(古城大街店)地址有知道的么?有点事
常德市高一英语教材版本
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?