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

北京 建网站建站模板 discuz

北京 建网站,建站模板 discuz,文件外链网站,怎样维护自己的网站一、命名空间#xff1a; 1.1命名空间存在的意义#xff1a; 1.1要知道c是对c语言缺点的完善#xff0c;而在c语言中我们是知道#xff0c;定义变量、函数名或者全域名是不能相同的#xff0c;否则会产生冲突#xff0c;但要知道这都是大量存在的#xff0c;就像一个名…一、命名空间 1.1命名空间存在的意义 1.1要知道c是对c语言缺点的完善而在c语言中我们是知道定义变量、函数名或者全域名是不能相同的否则会产生冲突但要知道这都是大量存在的就像一个名字也有很多重名一个项目每个人负责不同的模块也避免不了名字相同因为我不知道你也用了这个名字在c语言中就会产生冲突而且在全域中也可能和库函数中名字相同例如 1.2命名空间的定义 1.2.1命名空间的定义要用到一个关键字就是namespace加命名空间的名字然后接一个{ },里面就是命名空间的成员。 //这我定义一个名字为xiaoming namespace xiaoming {//可以定义变量也可以定义函数int rand 10;int add(int x, int y){return x y;}// 同时可以进行嵌套namespace hello // 嵌套在命名空间xiaoming的命名空间hello// 不同命名空间里的名字可以相同{int rand 20;int add(int x, int y){return x y;}} } 1.3命名空间的使用 1.3.1命名空间中的成员并不能直接使用有三种形式使用方式 1加命名空间名称以及作用域符号 # include iostream using namespace std;namespace xiaoming {int a 10;int b 20; }int main() {// cout a 这种是错误的不能直接使用cout xiaoming::a;cout xiaoming::b; } 2使用using将命名空间某个成员引入 # include iostream using namespace std; using xiaoming::a;namespace xiaoming {int a 10;int b 20; }int main() {cout a; //这个已经被引入所以可以直接使用cout xiaoming::b; } 3使用using namespace命名空间的引入 # include iostream using namespace std; using namespace xiaoming;namespace xiaoming {int a 10;int b 20; }int main() {cout a;cout b; } 二、缺省参数 3.1缺省参数的定义 3.1.1缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时如果没有指定实参则采用该形参的缺省值否则使用指定的实参。 #includeiostream using namespace std; int Add(int x10,int y20) {return xy; } int main() {int ret1Add(); //不穿参数使用形参默认值coutret1endl;int ret2Add(1,2) //穿参数使用指定实参coutret2endl;return 0; }3.2省参数的分类 全缺省参数 #includeiostream using namespace std; int Add(int x10,int y20,int z30) {return xyz; } int main() {int ret1Add(); //可以不传参数int ret2Add(1); //可以传一个参数int ret3Add(1,2); //可以传两个参数int ret4Add(1,2,3); //可以传三个参数//但不能像Add(,2,3)或者这样Add(1,,3)传参必须是从左到右连续滴传参。coutret1endlret2endlret3endlret4endl; 半省参数 #includeiostream using namespace std; int Add(int x,int y20,int z30) {return xyz; }//半省参数必须从右向左依次赋值 int Add1(int x,int y,int z30) {return xyz; } //上面两种都是可以的 //但不能中间间隔例如int Add(int x10,int y,int z30) //或者这样也是不行的 int Add(int x10,int y,int z) int main() {int ret1Add(1,2,3);//可以int ret2Add(1,2);//可以int ret3Add(1);//可以// int ret4Add(); 不可以的x需要传参 同样滴int ret5 Add1(1,2,3);//可以int ret6Add(1,2);//可以// int ret7Add(1); 不可以因为y没有传参//半缺省参数是要赋值的return 0; }函数重载 函数重载的概念 C允许在同一作用域中声明几个功能类似的同名函数这些同名函数的形参列表参数个数或类型或类型顺序不同常用来处理实现功能类似数据类型不同的问题。 #includeiostream using namespace std; int Add(int x,int y,int z) {return xyz; } //参数个数不同 int Add(int x,int y) {return xy; } //参数类型不同 double Add(double x,double y) {return xy; } //参数顺序不同 double Add(int x,double y) {return xy; } double Add(double y, int x) {return xy; } int main() {int ret Add(1,2,3);int ret1Add(1,2);double ret2Add(1.2,2.2);double ret3Add(1,1.2);double ret4Add(1.2,1); //函数重载的作用就是一个函数可以实行多种功能coutretendlret1endlret2endlret3endlret4endl;return 0; }编译器的工作  如果两个函数的参数表中参数的个数或类型或顺序不同则认为这两个函数是重载。 判断函数重载的规则 如果两个函数的参数表相同 但是返回类型不同会被标记为编译错误函数的重复声明 int my_max(int a,int b) {return a b ? a : b; } unsigned int my_max(int a,int b) // error; {return a b ? a : b; } int main() {int ix my_max(12,23);unsigned int my_max(12,23); // error;reutrn 0; } 参数表的比较过程与形参名无关 // 声明同一个函数 int my_add(int a,int b); int my_add(int x,int y); 如果在两个函数的参数表中只有缺省实参不同则第二个声明被视为第一个的重复声明 void Print(int *br,int n); void Print(int *br,int len 10); 引用 引用的概念 引用比较好理解啦就是给你原有的变量去了一个别名例如在生活中你的外号就像叫我小马一样都是别名的意思编译器不会给引用变量开辟新的内存他和他引用的变量公用同一个内存空间。 #includeiostream using namespace std; int main() {int a10;int raa;printf(%p\n,a); //打印a的地址printf(%p\n,ra); //打印ra的地址 两个地址是相同的 return 0; 引用的特性 1引用变量必须初始化。 就像你给一个人起小名要有对象呀 2一个变量可以有多个引用。  一个人可以有多个外号什么的 3引用一旦引用一个实体再也不能引用其他实体。 #includeiostream using namespace std; int main() {int a10;intraa; //这是引用的初始化// intra; //这里没有初始化是不正确的。int rba; //一个变量可以有多个引用return 0; }引用的应用 引用做参数 通过引用的概念我们可以知道引用是和他的引用变量用同一个地址所以改变引用就是改变他所引用的变量就像夸小马文章写的好不就是在夸我吗 #includeiostream using namespace std; void swap(int x,int y) {int tmp0;tmpx;xy;ytmp; } int main() {int x10;int y20;swap(x,y);coutx yendl;return 0; }引用做返回值 #includeiostream using namespace std; int Add(int x,int y) {static int retxy; //想想这里为什么用staticreturn ret; } int main() {int retAdd(1,2);coutretendl;return 0; }在这里我们想一下为什么要用static 要是不用static的后果是什么呢 在我们讲函数栈帧的创建和销毁的时候已经知道局部变量是储存在栈区的而栈区是随着函数调用结束后是会被销毁的 但引用是和引用对象一个地址的static是把局部变量从栈区存放到静态区这样随着函数的调用结束后不会被销毁因此返回的时候还能够找到要是不用static当返回去寻找的时候是找到的就会是随机值。就好比你住个酒店而当你退房了之后发现你的包裹没有拿而当你返回去的时候你就无法确定你的包裹还在他可能还在就是没有被收拾但有可能你住的酒店已经被其他用户住给扔掉了这都是有可能的而static就是把包放在一个储存的东西的地方你再去这个地方拿就行了 引用和指针的区别 引用就是引用对象的一个别名而指针是变量的地址 引用必须初始化而地址不需要初始化。 引用在初始化一个引用对象后就不能在引用其他变量了而指针确可以在任何时候指向同类型的地址。 用自身加一是引用对象加一而指针加一则是地址加一。 指针有多级指针而引用没有 内联函数 内敛函数存在的意义 在c语言中调用一个函数要经过栈帧的创建和销毁而当一个函数调用次数过多的时候就会降低程序运行的效率。这里的解决办法是什么呢在c语言中有一个解决的方法就是宏函数。想必大家也忘了宏函数的写法了这里我写一个宏函数的代码。 #includeiostream using namespace std; #define Add(x,y) ((x)(y)) int main() {int retAdd(1,2);coutretendl;return 0; } 为什么宏函数解决了效率呢要知道一个程序运行的完整运行是有预处理编译汇编链接四个过程的而宏函数是在预处理已经完成了。但宏函数已经解决了c栈帧创建和销毁的缺点为什c还会创建一个内敛函数呢要知道虽然宏函数解决了效率问题但它本身也有自身的缺点我们可以看出宏函数还是很容易写错的我这个是比较简单的要是复杂一点就是很容易就写错的而宏函数因为在预处理就已经结束了所以是没有办法调试的并且他也没有类型安全的检查因此c就用内敛函数来解决这个问题。 内敛函数的定义 以inline修饰的函数叫做内联函数编译时C编译器会在调用内联函数的地方展开没有函数调 用建立栈帧的开销内联函数提升程序运行的效率。 #includeiostream using namespace std; inline int Add(int x,int y) {return xy; } int main() {int ret Add(1,2);coutretendl;return 0; }内敛函数和普通函数功能相同就是在函数inline同时也具有了宏函数的一些功能就是不参与编译在预处理就已经完成了。 内敛函数特性: inline是一种以空间换时间的做法如果编译器将函数当成内联函数处理在编译阶段会用函数体替换函数调用缺陷可能会使目标文件变大优势少了调用开销提高程序运行效率。 inline对于编译器而言只是一个建议不同编译器关于inline实现机制可能不同一般建议将函数规模较小(即函数不是很长具体没有准确的说法取决于编译器内部实现)、不是递归、且频繁调用的函数采用inline修饰否则编译器会忽略inline特性。
http://www.w-s-a.com/news/173188/

相关文章:

  • 图书租借网站 开发企业网站搜索优化外
  • 新乡个人网站建设哪家好免费的图片做视频在线观看网站
  • 洛阳工程建设信息网站山西响应式网页建设哪里好
  • 企业网站建设市场的另一面wordpress分类插件
  • 网站建设名头公司展厅装修
  • 小型购物网站开发费用郑州企业网站模板建站
  • 个体商户建自己的网站做销售建设积分兑换官方网站
  • 网站建设与维护培训网页制作专业用语
  • 建站特别慢wordpress网页制作与设计项目策划书
  • 视频制作素材免费网站头像制作在线生成器
  • 网站建设是不是可以免费建站广州做网站 信科网络
  • 闸北区网站设计叫别人做网站后怎么更改密码
  • 为什么想做网站运营建设工程教育网站
  • 站长基地百度推广整体优化网站
  • 门窗 东莞网站建设wordpress外链论坛
  • 安徽省建设部网站官网还能用的wap网站
  • 企业网站设计开发网站关键词优化seo
  • 郑州高档网站建设台州网站建设推广
  • 广东省建设信息港网站WordPress手机缩略图设置
  • 优秀网站主题平顶山专业做网站公司
  • wordpress返回顶部插件wordpress站群seo
  • 企业网站建设报价表百度竞价托管哪家好
  • 织梦网站首页打开慢淄博网站推广那家好
  • 苏州高端网站建设kgwl互动网站建设的主页
  • 宿州网站建设哪家公司好个人网站制作方法
  • 网站正能量晚上在线观看视频站长之家关键词挖掘工具
  • 建设网站怎么判断是电脑还是手机仿租号网站源码网站开发
  • seo百度网站排名软件重庆巫山网站设计公司
  • 搭建视频播放网站网站排名诊断
  • 网站域名注册网站centos做网站服务器