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

wordpress和mui对接防城港seo公司

wordpress和mui对接,防城港seo公司,忻州网站建设求职简历,怎么把别人网站源码弄出来文章目录 命令空间引用基本本质引用作为参数引用的使用场景 内联函数引出基本概念 函数补充默认参数函数重载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;

引用

基本

引用可以看作一个已定义变量的别名

语法:Type&name=var;

注意:

  • &在这里不是求地址运算,而是起标识作用
  • 类型标识符是指目标变量的类型
  • 必须在声明引用变量时进行初始化
  • 引用初始化后不能改变(值可以变 引用不可变=》不可以引用其他的变量)
  • 不能有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 &p=a; ==  int* const p=&a;

引用作为参数

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) x+y// 要300 则x+y加上括号
int res = ADD(20,10)*10; //希望是300 但是实际上是 20+10*10=120

因此引出了内联函数
内联函数是一个真正的函数,但是没有函数的调用开销,又像普通函数一样可以传参返回值
相比于宏:既保持了宏函数的效率,又增加了安全性。

基本概念

定义
inline void func(){}
c++规定 内联函数的声明和定义必须放在一起

注意

  • 推荐使用内联函数替代宏代码片段
  • 内联函数在最终生成的代码中是没有定义的,所有内联函数的作用域可以理解位只在定义的文件中。那个文件调用那个文件就要定义,不能跨文件访问
  • inline只是对编译器的一个内敛请求,c++内敛编译会有一些限制,以下情况编译器可能考虑将函数进行内敛编译:
    • 存在任何形式的循环语句
    • 存在过多的条件判断语句
    • 函数体过于庞大
    • 对函数进行取址操作

函数补充

默认参数

// 带有默认参数被声明了 实现得使用就不需要传入默认参数了
//声明
int func(int r,double PI=3.14);
//实现
int func(int r,double PI){}int func(int r=1,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);

在这里插入图片描述

函数重载的原理

  1. 编译器在将程序编译完成后会将变量和函数变成一个个的符号,存放这些符号的表格称为符号表
  2. 对程序进行编译查看对应函数的符号
# 编译命令
g++ -c main.cpp# 执行命令  查看符号表 
nm main.o


g++编译器在将函数转化为符号时,根据函数名、形参类型进行转化

如果使用g++编译c语言含义函数重载的代码,是编译成功的。

http://www.yayakq.cn/news/262133/

相关文章:

  • 企业网站建设费用大约多少钱网站设置默认首页
  • 做彩妆发哪个网站浏览量高国人原创wordpress主题
  • 南宁小程序开发网站建设公司小型网站维护
  • 手机网站怎么做seo电子商务网站建设主管的策划书
  • 佛山高明网站建设设计网站建设维护和服务合同
  • php语言 网站建设logo在线设计生成器万动力
  • 湖南网站推广电话网站建设需要什么书
  • 广州建站模板厂家wordpress能做游戏
  • 网站开发专业职称有哪些商务网站模块设计时前台基础设施建设不包括
  • 曹鹏wordpress建站seo视频电子商务网站建设自服务器
  • 有没有做网站的软件成都市住房和城乡建设局
  • 手机网站开发 教程上海优化公司有哪些
  • 新蔡县城乡建设局网站备案成功后怎么建网站
  • 的建站公司保定seo排名
  • 数据库网站创建一个餐饮公司的模板
  • seo优秀网站网站开发技术规范
  • 宁波网站关键词网站建设国内外研究现状
  • 成都网站seo厂家湖南 中小企业 网站建设
  • 全网营销型网站建站专家2023互联网公司排行
  • 英文网站 字体大小中国菲律宾省
  • 青岛城市建设档案馆网站长春公司网站模板建站
  • 山东住房和城乡建设厅网站首页重庆企业网站推广方案
  • 网址导航网站建站秦皇岛在哪里
  • 邢台网站建设优化自己做短视频网站
  • 北京城乡建设学校网站网站 如何做后台维护
  • 向国外支付网站开发费ps怎么logo设计制作
  • 学网站建设 去哪里网站维护需要哪些知识
  • 宣传不网站成都全案设计公司
  • 深圳哪里可以做网站怎么建个公司网站
  • wordpress建公司网站哈尔滨做网站公司哪家好