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

无锡定制网站建设装潢公司

无锡定制网站建设,装潢公司,中国建设银行是国企还是央企,鲁谷做网站的公司c关键字 命名空间 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染&#xff…

c++关键字

在这里插入图片描述

命名空间

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的.

#include<stdio.h>
int rand = 10;
int main()
{printf("%d\n", rand);return 0;
}

当我们没有包含rand函数的头文件时,这个是没有任何问题的,因为定义的全局变量不会冲突。
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
int rand = 10;
int main()
{printf("%d\n", rand);return 0;}

现在包含头文件的话
#include <stdlib.h>
在这里插入图片描述

c语言没法解决这样的命名冲突问题,所以c++提出了namespace来解决。

命名空间定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

#include<stdio.h>
#include<stdlib.h>namespace ggw
{struct node{int p1;struct node* next;};}
namespace zjw
{struct node{int p1;struct node* next;};}
int main()
{struct ggw::node t;struct zjw::node p;return 0;}

解决了命名冲突问题;

#include<stdio.h>
#include<stdlib.h>namespace ggw
{struct node{int p1;struct node* next;};int min = 5;}
namespace zjw
{struct node{int p1;struct node* next;};int min = 10;}
int main()
{struct ggw::node t;struct zjw::node p;printf("ggw中的%d\n",ggw::min);printf("zjw中的%d\n", zjw::min);return 0;}

使用不同的命名空间可以将同一个变量区分开,比如说ggw中的min和zjw中的min
在这里插入图片描述

命名空间可以嵌套

namespace zjw
{struct node{int p1;struct node* next;};namespace ret{int min = 10;}}
int main()
{struct ggw::node t;struct zjw::node p;printf("ggw中的%d\n",ggw::min);printf("zjw中的%d\n", zjw::ret::min);return 0;}

这里会多套一层,多加了一层作用域
在这里插入图片描述

1.当定义两个头文件里的变量包含在一起时,也会出现变量重复定义,相当于一个工程里面,有两个组分别进行工程的不同部分,当两个组用同一命名时候,就可以用到命名空间了。
2.当两个命名空间同名时,编译器会将两个合并成一个命名空间。

命名空间的使用

namespace ggw
{struct node{int p1;struct node* next;};int a = 3;int b = 4;int c = 5;
}

1.加命名空间名称及作用域限定符

int main()
{printf("%d\n",ggw::a);return 0;}

2.使用using将命名空间某个成员引入

using ggw::b;
int main()
{printf("%d\n", b);return 0;}

相当于将ggw命名空间中的b变量展成全局的(虽然理解不太对,以后再修改)
在这里插入图片描述
展开的话,再定义一个全局变量会出现重定义。

3.使用using namespace 命名空间名称引入。

using namespace ggw;int main()
{printf("%d\n", a);printf("%d\n", b);printf("%d\n", c);return 0;}

相当于将ggw命名空间中的所有变量展成全局的(虽然理解不太对,以后再修改),不建议全部展开

c++输入和输出

#include<iostream>
using namespace std;
int main()
{cout << "hello world" << endl;}

std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
如果不使用using namespace std的话,那就要加上该函数所在的命名空间(作用域)

#include<iostream>
//using namespace std;
int main()
{std::cout << "hello world" << std::endl;}

说明:

  1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。
  2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
  3. <<是流插入运算符,>>是流提取运算符。
  4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C++的输入输出可以自动识别变量类型

自动识别变量类型

#include<iostream>
using namespace std;
int main()
{int a;float b;double c;cin >> a;cin >> b;cin >> c;cout << a << endl;cout << b << endl;cout << c << endl;
}

在这里插入图片描述
不用向c语言printf找变量类型了。

std命名空间的使用惯例:
std是C++标准库的命名空间,如何展开std使用更合理呢?

  1. 在日常练习中,建议直接using namespace std即可,这样就很方便。
  2. using namespace std展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型/对
    象/函数,就存在冲突问题。该问题在日常练习中很少出现,但是项目开发中代码较多、规模
    大,就很容易出现。所以建议在项目开发中使用,像std::cout这样使用时指定命名空间 +
    using std::cout展开常用的库对象/类型等方式。

缺省参数

缺省参数概念
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实
参则采用该形参的缺省值,否则使用指定的实参。

#include<iostream>
using namespace std;
void print(int c=50)
{cout << c << endl;}
int main()
{print(10);print();}

在这里插入图片描述
当函数有传参数过去时,就用传过去的形参,如果没有传过去的形参,采用该形参的缺省值。

缺省参数分类

全缺省参数

void print(int c=50,int b=20,int a=65)
{cout << c << endl;cout << b<< endl;cout << a << endl;}

半缺省参数

void print(int c,int b=20,int a=65)
{cout << c << endl;cout << b<< endl;cout << a << endl;}

1. 半缺省参数必须从右往左依次来给出,不能间隔着给
2. 缺省参数不能在函数声明和定义中同时出现
3. 缺省值必须是常量或者全局变量
4. C语言不支持(编译器不支持)

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

相关文章:

  • 网站建设华科技公司陕西网页设计培训
  • 专业商城网站建设价格移动端布局
  • 深圳专业做网站排名公司哪家好广东平台网站建设平台
  • 做海外房产最好的网站宝石汇网站
  • 资源下载站wordpress主题微信低代码开发平台
  • 东莞公司建网站要多少费用电商平台怎么运营的
  • 一对一直播网站开发专业外贸网站建设公司
  • 游戏网站做代理国家工商企业注册查询网官网
  • 网站做什么推广好做公号模版网站
  • c 做网站简单吗南宁市建设处网站
  • 电子商城网站建设方案软件开发文档说明
  • 重庆 网站定制网站建设哪个软件好
  • 连云港市赣榆区建设局网站免费软件恢复微信聊天记录
  • 做竞价网站 要注意什么知雅汇网页设计实训报告
  • 怎么做自己的销售网站网站建设需要找工信部吗
  • 建设网站几种方法南昌网站开发公司哪家公司好
  • 万网虚拟机wordpress网站如何做优化
  • 网站优化设计重庆长寿网站建设
  • 做博客网站赚钱站长工具使用方法
  • 济南公司制作网站网络营销是什么的促销
  • 架构图在什么网站可以做曲阜人网站
  • 网站的二级页面在哪里做导航网站后台源码
  • 壁纸公司网站源码十年前网站开发语言
  • 作文生成器网站工程行业招聘网站
  • ie建设企业网站进去无法显示建网站报价明细表
  • 大众点评怎么做团购网站百度推广创意高级样式
  • 网站优化的方法有哪些欧美电影免费网站
  • 网站空间服务多少钱智能网站
  • 房天下官方网站小学生做甜品的网站
  • 网站策划书包括哪些内容兰州装修公司排名榜