当前位置: 首页 > news >正文

网站怎做简述什么是网站

网站怎做,简述什么是网站,php网站建设步骤,php网站开发实例代码参数参数分为形参和实参#xff0c;形参是在函数定义的形参表中进行定义#xff0c;是一个变量#xff0c;其作用域为整个函数。而实参出现在函数调用中#xff0c;是一个表达式#xff0c;用传递给函数的实参对形参进行初始化。函数形参表可以为空#xff0c;但不能省略…参数参数分为形参和实参形参是在函数定义的形参表中进行定义是一个变量其作用域为整个函数。而实参出现在函数调用中是一个表达式用传递给函数的实参对形参进行初始化。函数形参表可以为空但不能省略。没有任何形参的函数可以用空形参表或含有单个关键字void的形参表来表示。C是一种静态强类型语言对于每一次函数调用编译时都会检查其实参。每次函数调用时都会重新创建该函数所有的形参此时所传递的实参将会初始化对应的形参。形参的初始化与变量的初始化一样如果形参具有非引用类型则复制实参的值如果形参为引用类型则它只是实参的别名。普通的非引用类型的参数通过复制对应的实参实现初始化。当用实参的副本初始化形参时函数并没有访问调用所传递 的实参的本身因此不会修改实参的值。函数的形参可以为指针此时将复制实参指针。与其他费引用类型的形参一样该类形参的任何改变也仅仅作用于局部副本。指针形参是指向const类型还是飞const类型将影响函数调用所使用的参数。可以将指向const对象的指针初始化为指向非const对象但是不可以让指向非const对象的指针指向const对象。与所有引用一样引用形参直接关联到其所绑定的对象而并非这些对象的副本。另外如果使用引用形参的唯一目的是避免复制实参则应将形参定义为const引用。关于传递指向指针引用这个对于我来说比较难理解啊总想不明白为啥这样定义。下面举个例子假如想编写一个交换两个整数的swap函数实现两个指针的交换。已知需用*定义指针用定义引用。现在问题是如何将这两个操作符结合起来以获得指向指针的引用。void swap(int *v1, int *v2){int *tmp v2;v2 v1;v1 tmp;}形参int *v1顶定义从右往左理解v1是一个引用与指向int型对象的指针相关联。也就是说v1只是传递进swap函数的任意指针的别名。返回值这里要记录的是自己需要注意的地方。(1)返回非引用类型用函数返回值初始化临时对象与用实参初始化形参是一样的。如果返回类型不是引用在调用函数的地方会将函数返回值复制给临时对象。当函数返回非引用类型时其返回值即可以是局部对象也可以是求解表达式的结果。(2)返回引用当函数返回引用类型时没有复制返回值。相反返回的是对象本身。考虑下面的函数此函数返回两个string类型形参中较短的那个字符串的引用const string shortstring(const string s1, const string s2){return s1.size() s2.size() ? s1 : s2;}形参和返回类型都是指向const string类型的引用调用函数和返回结果时都没有复制这些string对象。记住千万不要返回局部变量的引用。(3)引用返回左值返回引用的函数返回一个左值。因此这样的函数可用于任何要求使用左值的地方char get_val(string str, string::size_type ix){return str[ix];}int main(){string s(a value);cout s endl;get_val(s, 0) A; //change s[0] to Acout s endl;return 0;}给函数返回值赋值可能让人惊讶由于函数返回的是一个引用因此是正确的。如果不希望引用返回值被修改返回值应该声明为const char get_val(.....)。(5)千万不要返回指向局部变量的指针一旦函数结束局部对象被释放返回的指针就变成了指向不在存在的对象的悬垂指针。默认实参当一个函数具有多个参数时定义默认参数的方向是从右向左的即以最后一个参数定位的而匹配参数的方向是从左向右的即以第一个参数定位的如下图所示。上图来自网友具体出处忘记了感谢。如果我们要定义默认参数那么我们必须从最后一个参数定义起并且逐渐向前(左)定义不可以跳过某个参数直到所有的形参都被定义了默认值。如果我们调用了一个定义了默认参数的函数那么我们填写的第一个参数一定是和最左边的形参匹配并且逐渐向后(右)匹配不可以中途省略某一个参数直到所有未被设置默认值的形参都已经有参数。于是调用函数时用户向右自定义的实参至少要和向左来的已经定义的默认参数的形参相邻函数才能被成功调用。否则这个函数就是缺少参数的。指定默认实参的约束既可以在函数声明也可以在函数定义中指定默认实参。但是在一个文件中只能为一个形参指定默认实参一次。下面的例子是错误的//ff.hint ff(int 0);//ff.cc#include ff.hint ff(int 0){....} //error通常应该在函数声明中指定默认实参并将该声明放在合适的头文件中。指向函数的指针函数指针是指指向函数而非指向对象的指针。bool (*pf)(const string , const string );这个语句将pf声明为指向函数的指针它所指向的函数待遇两个const string类型的形参和bool类型的返回值。(1)用typedef简化函数指针的定义使用typedef为指针定义同义词可以使函数指针的使用大大的简化typedef bool (*cmpfcn)(const string , const string );该定义表示了cmpfcn是一种指向函数的指针类型的名字。在要使用这种函数指针的类型时只需要直接使用cmpfcn就可以了。(2)指向函数的指针的初始化和赋值**在引用函数名单又没有调用该函数时函数名将被自动解释为指向函数的指针。假如有函数bool lengthcompare(const string , const string );除了用作函数调用的左操作数外对lengthcompare的任何使用都被解释为如下类型的指针bool (*)(const string , const string );可以使用函数名对函数指针进行初始化或赋值cmpfcn pf1 0; //ok:unbound pointer to functioncmpfcn pf2 lengthcompare;  //ok:pointer type matches functions typepf1 lengthcompare;         //ok:pointer type matches functions typepf2 pf1;                   //ok:pointer types match此时直接引用函数名等效于在函数名上应用取地址操作符cmpfcn pf1 lengthcompare;cm[fcn pf2 lengthcompare;记住函数指针只能通过同类型的函数或者函数指针或0值常量表达式进行初始化或赋值。将函数指针初始化为0表示该指针不指向任何函数。指向不同函数类型的指针之间不存在转换string::size_type sunlength(const string , const string )bool cstringcmpare(char *, char *);cmpfcn pf;pf sunlength;     //error:return type defferspf cstringcompare;//error:parameter types differpf lengthcompare; //ok:function and pointer types match exactly(3)通过指针调用函数指向函数的指针可用于调用它指向的函数。可以不需要使用解引用操作符直接通过指针调用函数cmpfcn pf lengthcompare;lengthcompare(hi,bye);pf(hi, bye);(*pf)(hi, bye);(4)函数指针形参函数的形参可以是指向函数的指针。这种形参可以用以下两种形式编写void useBigger(const string , const string ,bool (const string , const string ));void useBigger(const string , const string , bool (*)(const string , const string ));(5)返回指向函数的指针函数可以返回指向函数的指针但是正确的写出这种返回类型相当不容易int (*ff(int))(int *, int *);提醒阅读函数指针声明的最佳方式是从声明的名字开始由里而外理解。要理解该声明的含义首先观察ff(int)将ff声明为一个函数它带有一个int型的参数。该函数返回int (*)(int *, int);它是一个指向函数的指针所指向的函数返回int型并带有两个分别为int *型和int型的形参。使用typedef可使该定义更简明易懂typedef int (*pf)(int *, int);pf ff(int);
http://www.huolong8.cn/news/226568/

相关文章:

  • 哔哩哔哩网站怎么做视频软件wordpress增加标签页
  • 做网站维护工商经营范围是什么wordpress全屏博客
  • 做影集的网站或软件下载哪个网站论文多
  • 做公司网站的价格河西做网站的公司
  • 网站制作营销型中国营销
  • 东莞网站建设网站推广中国学校网站前台模板
  • 网站推广方案中确定目标是指关于平面设计的网站
  • 最好的机票网站建设网站备案信息核验单填写
  • 网站的页面设计wordpress页面源代码
  • 自己在网站开发的客户怎么联系招聘系统推广哪家好
  • 昆明建站专家交友免费网站建设
  • asp网站模板下载电子政务服务网站建设
  • 公司网站建设费用的会计分录营销型网站建设目的
  • html5wap网站模板35互联网站建设怎么样
  • 手机免费建网站软件视频网站设计与开发
  • 网站底部留言代码wordpress 性能优化
  • 哪个网站可以学做蛋糕张家界网络
  • 企业网站建设费用怎么记账网站注册用户推广
  • c#网站开发 pdf公司网站域名主机
  • 现在建设网站落后了标书制作图片
  • 成都专业网站建设厂wordpress导航浮动
  • 网站优化代码文档阅读网站模板下载
  • 响应式网站缺点做苗木比较好的网站
  • 荆州网站建设多少钱北京seo技术
  • 做网站会犯法吗济南网站定制
  • 如何查看 网站诊断把自己做的网页发布到网站
  • 电子商务网站建设文案传统网站和手机网站的区别是什么意思
  • 网站做优化需要哪些后台信息公司部门撤销要求转岗不同意怎么办
  • 校园网站建设报价郑州做网站销售怎么样
  • 旧域名怎么做新网站微信支付wordpress