当前位置 : 主页 > 编程语言 > c语言 >

C++入门-1

来源:互联网 收集:自由互联 发布时间:2023-09-07
本篇文章与大家分享一些c++的关键字、命名空间及输入输出的相关知识。 首先,我们先了解一下c++的关键词,具体如下: C++的关键词 c++的关键词,共计64个,部分与c语言相似,这些关

     本篇文章与大家分享一些c++的关键字、命名空间及输入输出的相关知识。

首先,我们先了解一下c++的关键词,具体如下:

C++的关键词

C++入门-1_ci

c++的关键词,共计64个,部分与c语言相似,这些关键字需不需要背呢?答案是否定。回顾我们学c语言的过程,关键词用着用就记住了,没必要刻意去记忆。对于c++的初学者,先做一个大致的了解。

接下来,我们一起了解一下命名空间:

C++的命名空间

大家都知道,我们学c++这门语言最终的目的是运用于实际,实现某种功能。而要实现相应的功能不是一两行代码就能实现的,需要一个非常大的代码量,这些代码会涉及到很多的变量,函数。将来我们到了公司里,会将一个大的功能分成若干个小功能,然后,分给不同的人进行实现,最后,再整合起来。每个人对变量和函数命名时,可能相同,也可能不同。当相同时,我们的程序本来没有问题,但在整合后,命名相同就会发生冲突,编译器就会报错。

一个功能的代码量是巨大的,我们一个一个的去更改是不现实的,搞不好本来能运行的程序在更改后无法在进行运行。那怎么办呢?开发c++语言的这个大佬也是受够这个变量相同的问题了。于是,引入了命名空间这个概念,规避变量名相同的问题。

一言以蔽之,命名空间是为了解决变量的命名相同的问题。

以上是命名空间的由来,接下来,我们来看看如何去定义、使用命名空间。

命名空间的定义

定义命名空间需要使用关键词namespace,后面加上命名空间的名字,再加上一对{},{}内就是命名空间的成员。我们举个列子:

namespace zs  //zs是命名空间的名字
{
  //命名空间的成员可以是变量
  int i=0;
  //可以是结构体
  struct Node
  {
    int val;
    struct Node*next;
  };
  //可以是函数
  int add(int x,int y)
  {
    return x+y;
  }
  //也可以是命名空间
  namespace N
  {
  	int a;
  }
}

了解完命名空间的定义,让我们来看一下命名空间的使用吧!

命名空间的使用

命名空间的使用有三种方式:

我们先来看看第一种:

namespace N
{
	int b=10;
}
int mian()
{
 	 //第一种方式在变量前加上命名空间名称及作用域限定符
  printf("%d",N::b);
  return 0;
}

第二种方式是使用using引入命名空间的某个成员

namespace N
{
	int b=10;
}
using N::b;//引入命名空间中的成员b.
int main()
{
  printf("%d\n",b);
  return 0;
}

第三种方式则是使用using namespace引入命名空间

namespace N
{
	int b=10;
}
using namespace N;//引用命名空间N.
int mian()
{
  printf("%d\n",b);
  return 0;
}

以上就是命名空间的定义和使用,屏幕前的你理解了吗?理解了就动手试试吧!

接下来,我们一起了解一下c++的输入输出:

C++的输入输出

我们先来说说输出:

#include<iostream>
//std是c++标准库的命名空间名称,c++将标准库的定义实现都放到了std这
//个命名空间中
using namespace std;
int mian()
{
  cout<<"Hello reader"<<endl;
  //endl相当于换行符‘\n’,表示换行输出
  return 0;
}

以上就是C++的输出方式,接下来,让我们看看C++的输入:

#include<iostream>
using namespace std;
int main()
{
  int a;
  double b;
  char c;
  
  //可以自动识别类型
  cin>>a;
  cin>>b>>c;
  return 0;
}

以上是利用cout和cin实现输入输出。其实,cout和cin还有很多复杂的用法,在此就不展开讲了。

好了,到这里,本次的分享就到此结束了,不知道我有没有说明白,给予你一点点收获。如果你有所收获,别忘了给我点个赞,这是对我最好的回馈,当然你也可以在评论发表一下你的收获和心得,亦或者指出我的不足之处。如果喜欢我的分享,别忘了给我点关注噢。


上一篇:[Leetcode]链表反转
下一篇:没有了
网友评论