首页 > 编程语言 >C++入门

C++入门

时间:2023-04-18 20:35:39浏览次数:46  
标签:入门 int namespace C++ 空间 c++ 命名 using

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

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

C++的关键词

C++入门_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还有很多复杂的用法,在此就不展开讲了。

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


标签:入门,int,namespace,C++,空间,c++,命名,using
From: https://blog.51cto.com/u_15933803/6204029

相关文章

  • C++第三章课后练习题
    编写可以求两个数最大公约数和最小公倍数的函数。1#include<iostream>2#include<cmath>3usingnamespacestd;4intfun1(intx,inty)5{6inttemp;7if(x<y)8{9temp=x;10x=y;11y=temp;12}13......
  • c++打卡第八天
    一、问题描述。   我国古代有一种说话叫三天打鱼两天晒网,如果一个人从1990年1月1日开始,开始三天打鱼两天晒网,问输入一个年月日,此时他是在打鱼还是晒网。二、设计思路。①、我们可以通过计算从输入日期到1990年1月1日总共有多少天,总天数除余周期五,如果结果为1.2.3则此人此......
  • Docker快速入门 三(dockerfile常用命令,dockerfile构建django项目,docker私有仓库,docker-
    目录Docker一、Dcokerfile常用命令二、Dockerfile构建Django项目三、Docker私有仓库1、简介2、镜像传到官方仓库3、镜像分层4、搭建私有仓库四、Docker-conpose1、Docker-conpose部署项目1、新建flask项目2、编写dockerfile3、编写docker-conpose的yml文件4、启动docker-compoes2......
  • 深度解读C++引用
    什么是引用引用不是新定义一个变量,而是给已存在对象取了一个别名,从语言逻辑角度看,引用不占用内存空间,而与被引用的对象共用同一块内存空间。使用引用时,需要注意以下几点:引用在定义时必须初始化;一个变量可以有多个引用;C++中的引用一旦初始化便不能转移;在语法逻辑角度,引用不占用额外......
  • 痞子衡嵌入式:恩智浦经典LPC系列MCU内部Flash IAP驱动入门
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦经典LPC系列MCU内部FlashIAP驱动。LPC系列MCU是恩智浦公司于2003年开始推出的非常具有代表性的产品,距今已经有近20年的生命。按时间线演进来说,其主要分为三代:-元老:基于ARM7/9内核的LPC2000......
  • Java入门6(String和封装类)
    使用第三方jar包,完成get/set操作Lombok,结合特殊的注解,实现setter和getter的自动生成导入jar包使用插件Lombok在类里import即可使用importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;//使用注解@Data,在类编译的时候,自动给class......
  • 0001笔记【并行计算】CUDA在现代C++中如何运用?看这一个就够了
    目录SM(流多处理器)和板块(block)一个板块会被调度到一个SM上,直到执行结束常用函数cudaMalloc在显存上分配内存cudaMallocHost在主存上分配锁页内存cudaMemcpy在主存和显存之间拷贝数据cudaMallocManagerd统一内存优化时间依赖和空间依赖线程太多不行:防止寄存器打翻(registerspill)......
  • ESP32入门学习之工程目录结构
    前言使用ESP-IDF框架开发ESP32应用程序时,需要按照一定规则创建工程目录,才能正常编译代码。1.官方提供工程目录示例进入ESP-IDF源码路径下的examples\get-started\sample_project文件夹,可以看到有如下内容:ESP-IDFV4.0及之后版本,就已经默认使用CMake作为构建系统......
  • EJB教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介EJB入门教程-从简单的步骤了解EJB3.0和3.1(EnterpriseJavaBean)框架,从基本概念到高级概念,包括概述,环境设置,应用服务器,容器,企业Bean,注释,会话,无状态会话,有状态会话,消息驱动,实体Bean,持久性,远程接口,查找,生命周期,接口,拦截器,可嵌入对象,Blob/Clobs,事务,安全性,JNDI绑定,实体关......
  • PHP 7 教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介PHP7入门教程-从简单的步骤了解PHP7,从基本到高级概念,包括简介,性能,环境设置,标量类型声明,返回类型声明,空值合并运算符,Spaceship运算符,常量数组,匿名类,Closure::call(),Filteredunserialize(),IntlChar,CSPRNG,Expectations,useStatement,ErrorHandling,IntegerDivision,Sess......