C++基础篇之输入输出、函数重载、引用

文章目录


第一个C++程序
还是熟悉的hello world 只不过相比于C语言的写法还是有些许不同之处的,下面我会慢慢的进行介绍

#include<iostream>   //类似于C语言的#include<stdio.h> 
using namespace std; //这句话的意思就是,把 C++标准库的东西全部展开

int main()
{
   
	cout << "hello world" << endl; //endl相当于C里面的"\n"换行
}

命名空间
相信我们写C代码的途中,都会多多少少遇见过,定义的变量名相同,函数名相同,那是因为创建的相同名称的变量在同一个作用域内,从而导致编译出错无法运行的时候,因为C语言不支持命名空间,而C++定义了命名空间,就很好的解决了这个问题,命名空间需要使用namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员,命名空间的作用就是防止变量、函数、类、结构体等等发生命名冲突,而命名空间就很好的可以防止重命名了。
如果下面的代码如果我们加了 iostream 的头文件,那么就会和标准库里面的rand函数冲突
在这里插入图片描述
那在C++中如何使用命名空间来避免重命名呢?
注意:一块命名空间内不仅可以创建变量,还可以创建函数、结构体,另外命名空间还可以嵌套使用。

namespace Ywy_L
{
   
	//变量
	int rand = 20;
	//函数
	int Add(int x, int y)
	{
   
		return x + y;
	}
	//结构体
	typedef struct BinaryTreeNode
	{
   
		int val;
		struct BinaryTreeNode* left;
		struct BinaryTreeNode* right;
	}BTNode;
	namespace L
	{
   
		int val = 0;
	}
}

当我们解决了重命名的问题,那么我们该如何访问到命名空间内的成员呢?
关于命名空间如何访问,C++提供了以下三种方式供我们使用。
1.使用命名空间名称加域作用限定符,就是告诉编译器去这块命名空间内去找rand

int main()
{
   
	cout << "rand=" << Ywy_L::rand << endl; //1
 	return 0; 
}

2.使用using将命名空间中某个成员引入,只展示部分成员,编译器编译时即可找到它

using Ywy_L::rand;
int main()
{
   
	cout << "rand=" << Ywy_L::rand << endl;  //1
	cout << "rand=" << rand << endl;         //2
 	return 0; 
}

3.使用using namespace +命名空间名称 引入,这样编译器会把命名空间全部展开,编译时就可以找到

using namespace Ywy_L;
int main()
{
   
	cout << "rand=" << Ywy_L::rand << endl;  //1
	cout << "r
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JuLiJuLi.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值