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

南京网站费用网站建设中国联通网站备案系统

南京网站费用网站建设,中国联通网站备案系统,关键词怎么做快速的有排名,黄冈网站建设 网络推广文章目录 命令空间引用基本本质引用作为参数引用的使用场景 内联函数引出基本概念 函数补充默认参数函数重载c中函数重载定义条件函数重载的原理 命令空间 定义 namespace是单独的作用域 两者不会相互干涉 namespace 名字 { //变量 函数 等等 }eg namespace nameA {int num;v… 文章目录 命令空间引用基本本质引用作为参数引用的使用场景 内联函数引出基本概念 函数补充默认参数函数重载c中函数重载定义条件函数重载的原理 命令空间 定义 namespace是单独的作用域 两者不会相互干涉 namespace 名字 { //变量 函数 等等 }eg namespace nameA {int num;void func() {cout nameA;} }namespace nameB {int num;void func() {cout nameB;} }使用 ::作用域操作符 空间名::成员 cout nameA::num nameB::num endl;注意 命名空间只能再全局范围内定义可以嵌套定义 namespace nameA {namespace A {int num;}int num;void func() {cout nameA;} }命名空间声明和实现可以分割开来命名空间可以起别名 namespace studentInfoHandle {int id, age;string name;void studying() {cout i am studying endl;} } // 别名 namespace sIH studentInfoHandle;引用 基本 引用可以看作一个已定义变量的别名 语法Typenamevar; 注意 在这里不是求地址运算而是起标识作用类型标识符是指目标变量的类型必须在声明引用变量时进行初始化引用初始化后不能改变值可以变 引用不可变》不可以引用其他的变量不能有NULL引用。必须确保引用是一块合法的存储单元的关联 //一改均改int a 50;int b a;b 100;//均是100cout a endl;cout b endl;int c a;c 500;//均是 500cout a endl;cout b endl;cout c endl;//地址 相同cout a endl;cout b endl;cout c endl;本质 引用的本质是一个常指针 int * const p 引用所占空间大小和指针相同 int pa; int* const pa;引用作为参数 typedef struct Teacher {int id, age; }; void changeT(Teacher t) {t.age 100; }/* 编译后 两者的功能是一样的 void changeT(Teacher* const t) {t.age 100; } */Teacher t;t.age 50;changeT(t); //会改变结构体t的age的值cout t.age endl; //100引用作为其他变量的别名存在 一些场合下可以替代指针引用相比于指针有更好的可读性和实用性 引用的使用场景 对象中使用多 后续来看 内联函数 引出 宏实现简单函数 宏操作在预处理阶段就是简单的文本替换 没有类型检查 #define ADD(x,y) xy// 要300 则xy加上括号 int res ADD(20,10)*10; //希望是300 但是实际上是 2010*10120因此引出了内联函数 内联函数是一个真正的函数但是没有函数的调用开销又像普通函数一样可以传参返回值 相比于宏既保持了宏函数的效率又增加了安全性。 基本概念 定义 inline void func(){} c规定 内联函数的声明和定义必须放在一起 注意 推荐使用内联函数替代宏代码片段内联函数在最终生成的代码中是没有定义的所有内联函数的作用域可以理解位只在定义的文件中。那个文件调用那个文件就要定义不能跨文件访问inline只是对编译器的一个内敛请求c内敛编译会有一些限制以下情况编译器可能考虑不将函数进行内敛编译 存在任何形式的循环语句存在过多的条件判断语句函数体过于庞大对函数进行取址操作 函数补充 默认参数 // 带有默认参数被声明了 实现得使用就不需要传入默认参数了 //声明 int func(int r,double PI3.14); //实现 int func(int r,double PI){}int func(int r1,int f); // 错误得注意事项 默认参数后面得参数必须都是默认参数带有默认参数函数被声明了那么实现得使用就不需要传入默认参数了 函数重载 c中 void func(){} void func(int x){}//报错 不允许 认为是一个函数c中函数重载定义 同一个函数名定义不同的函数 函数名和不同的参数搭配时函数的含义不同 条件 作用域相同参数的个数不同参数的类型不同参数的顺序不同 namespace function0 {void fun() {cout func endl;}void fun(int x) { cout func(int x) endl;}void fun(int x,int y) { cout func(int x,int y) endl;}void fun(int x,char y) { cout func(int x,char y) endl;}void fun(char x, int y) { cout func(char x,int y) endl;}}function0::fun();function0::fun(1);function0::fun(1,2);function0::fun(1, a);function0::fun(a, 1);函数重载的原理 编译器在将程序编译完成后会将变量和函数变成一个个的符号存放这些符号的表格称为符号表对程序进行编译查看对应函数的符号 # 编译命令 g -c main.cpp# 执行命令 查看符号表 nm main.og编译器在将函数转化为符号时根据函数名、形参类型进行转化 如果使用g编译c语言含义函数重载的代码是编译成功的。
http://www.hkea.cn/news/14257237/

相关文章:

  • 网站后台无法上传照片擦边球网站做国内还是国外好
  • 建设网站需要的硬件设备天元建设集团有限公司总工程师
  • 四大门户网站网站宽屏版
  • 开发h5网站开发优质的企业网站
  • 外贸建网站免费模板怎么做家具定制网站
  • 长沙理财网站建设网站开发招聘年薪
  • 创业给企业做网站开发大连信联科技做的网站怎么样
  • 网站建设saas排名网站开发服务器知识
  • 网站的营销网站怎么添加管理员
  • 英文网站制作 官网网站建设的工作总结
  • 怎么注册网站个人建立网站来网上销售的英文
  • 菏泽网站建设多少钱女生学建筑选择什么专业
  • 学校 网站建设工作小组单片机项目外包网站
  • 杭州做网站哪家便宜wordpress网站有哪些
  • 企业网站流程四川省城乡住房和城乡建设厅网站首页
  • 建站管理后台电子购物网站开发公司
  • 建立校园网站北京装饰公司十大排名
  • 网站建设工作部署会广西网站
  • 网站优化常见的优化技术网站无法做301重定向
  • 深圳住房和建设厅网站山东富泰建设工程有限公司网站
  • 韩国家具网站模板编程网站开发培训
  • 能打开的网站做西点的网站
  • 做的网站怎么申请软件著作权今天山东一例发生在哪里
  • 微信游戏网站源码怎么做湘潭做网站电话磐石网络
  • 博客建站系统做网站就
  • 中国建设银行积分兑换网站网站建设费走什么科目
  • 企业建设企业网站的好处有哪些ip形象设计
  • 2012r2做网站怎样用word2003做网站
  • 假网站怎么做呢网站备案期间如何
  • 制作公司网站的流程浙江建设网查询