【C++】入门基础知识详解(一)

这篇具有很好参考价值的文章主要介绍了【C++】入门基础知识详解(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、C++关键字

二、命名空间

  1、命名空间的定义

  2、命名空间的使用

三、C++输入&&输出

四、缺省参数

  1、缺省参数的概念

  2、缺省参数的分类

    2.1 全缺省参数

    2.2 半缺省参数


一、C++关键字

我们在学习C++之前,我相信大家大多数都对C语言多多少少都有所了解,C语言的关键字有32个。而本文中的C++关键字有63个,如下图所示:

【C++】入门基础知识详解(一),c++,开发语言

二、命名空间

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

  1、命名空间的定义

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

如下所示:

//xx为命名空间的名称
namespace xx
{
    //命名空间中的内容既可以定义变量,也可以定义函数,还可以定义结构体
	int a = 10;
	int Add(int left, int right)
	{
		return left + right;
	}
	struct Node
	{
		struct Node* next;
		int val;
	};
}

//命名空间可以嵌套
namespace N1
{
	int a;
	int b;
	int Add(int left, int right)
	{
  		return left + right;
	}
	namespace N2
	{
 		int c;
  		int d;
  		int Sub(int left, int right)
  		{
    		return left - right;
  		}
	}
}

//在同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
//那么下面这个命名空间 xx 会和上面的第一个命名空间 xx 结合在一块
namespace xx
{
 	int Mul(int left, int right)
	{
 		return left * right;
	}
} 

注意: 一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

  2、命名空间的使用

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

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

namespace N
{
	int a = 10;
}
int main()
{
	printf("%d\n",N::a);
	return 0;
}

  (2)使用using将命名空间中某个成员引入

namespace N
{
	int a = 10;
}
using N::a;
int main()
{
	printf("%d\n",a);
	return 0;
}

  (3)使用using namespace 命名空间名称引入

namespace N
{
	int a = 10;
	int b = 20;
	int Add(int left, int right)
	{
		return left + right;
	}
}
using namespce N;
int main()
{
	printf("%d %d\n", a, b);
	Add(10, 20);
	return 0; 
}

注意: 在使用变量的时候要遵循以下两点:(1)当变量不是放在命名空间时,变量默认在局部和全局找。(2)当变量放在命名空间时,变量默认先去命名空间找,然后再去局部和全局找。

三、C++输入&&输出

#include<iostream>
// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

说明:

     (1)使用 cout 标准输出对象(控制台)cin 标准输入对象(键盘)时,必须包含 < iostream > 头文件 以及按命名空间使用方法使用 std 。

     (2) cout 和 cin 是全局的流对象,endl 是特殊的 C++ 符号,表示换行输出,他们都包含在包含 < iostream > 头文件中。

     (3)  << 流插入运算符,       >>流提取运算符

     (4)使用 C++ 输入输出更方便,不需要像 printf/scanf 输入输出时那样,需要手动控制格式。 C++ 的输入输出可以自动识别变量类型。

     (5)实际上 cout 和 cin 分别是 ostream 和 istream 类型的对象,>> 和 << 也涉及运算符重载等知识, 这些知识我们我们后续才会学习,所以我们这里只是简单学习他们的使用。后面我们还有有 一个章节更深入的学习 IO 流用法及原理。

#include <iostream>
using namespace std;
int main()
{
   int a;
   double b;
   char c;
     
   // 可以自动识别变量的类型
   cin >> a;
   cin >> b >> c;
     
   cout << a << endl;
   cout << b << " " << c << endl;

   return 0;
}

 std 命名空间的使用惯例:

std 是 C++ 标准库的命名空间:

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

四、缺省参数

  1、缺省参数的概念

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

如下所示:

void Func(int a = 1)
{
	cout << a << endl;
}
int main()
{
	Func();     // 没有传参时,使用参数的默认值
	Func(10);   // 传参时,使用指定的实参
	return 0;
}

【C++】入门基础知识详解(一),c++,开发语言

  2、缺省参数的分类

    2.1 全缺省参数

void Func(int a = 10, int b = 20, int c = 30)
 {
     cout << "a = " << a <<endl;
     cout << "b = " << b <<endl;
     cout << "c = " << c <<endl;
 }

【C++】入门基础知识详解(一),c++,开发语言

    2.2 半缺省参数

void Func(int a, int b = 10, int c = 20)
 {
     cout << "a = " << a << endl;
     cout << "b = " << b << endl;
     cout << "c = " << c << endl;
 }

【C++】入门基础知识详解(一),c++,开发语言

 注意:

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

本文要是有不足的地方,欢迎大家在下面评论,我会在第一时间更正。

【C++】入门基础知识详解(一),c++,开发语言文章来源地址https://www.toymoban.com/news/detail-523408.html

 老铁们,记着点赞加关注!!!   

到了这里,关于【C++】入门基础知识详解(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++类和对象基础知识详解

    1.一切皆是对象。如下图: ·女人是一个对象 ·鞋子是一个对象 ·包包是一个对象 ·衣服是一个对象 ·裤子是一个对象 ·手链是一个对象 … 这里人这个对象,由鞋子、包包、衣服、 裤子、手链等对象组成。 3.每个对象都有: a)数据(描述对象的属性) b)函数(行为操作代码

    2023年04月12日
    浏览(45)
  • 【C++从入门到精通】第2篇:C++基础知识(中)

    本节,我们将更多地讨论在“Hello, World!”程序中使用的 std::cout 语句,将文本“Hello, World!”输出到控制台。我们还将探讨如何从用户获取输入,我们将使用这些使我们的程序更具交互性。 输入/输出库 (io 库)是处理基本输入和输出的C++标准库的一部分。我们将使用此库中的

    2024年02月07日
    浏览(44)
  • 【Linux系统基础快速入门详解】SSH远程连接必备网络基础知识详解

    鱼弦:CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) SSH(Secure Shell)是一种网络协议,用于通过加密的方式在不安全的网络上安全地进行远程连接和数据传输。下面是对SSH远程连接的必备

    2024年02月07日
    浏览(67)
  • c语言基础知识帮助理解(详解函数)

    目录 1. 函数是什么 2. 库函数  3. 自定义函数  4. 函数参数  4.1实际参数(实参)  4.2形式参数(形参)  5.函数的调用 5.1传值调用 5.2传址调用 (传递地址) 6. 函数的嵌套调用和链式访问  6.1 嵌套调用  6.2 链式访问  7. 函数的声明和定义  7.1 函数声明  7.2函数定义 函数是

    2024年02月14日
    浏览(43)
  • c语言基础知识帮助理解(详解数组)

    前面梳理完函数和递归的知识后,来进行数组知识的梳理 对函数有疑惑的同学,可以看我之前的文章:c语言基础知识帮助理解(详解函数)_总之就是非常唔姆的博客-CSDN博客  c语言基础知识帮助理解(函数递归详解)_总之就是非常唔姆的博客-CSDN博客 想做点游戏的同学可以

    2024年02月14日
    浏览(38)
  • 【C++】——C++基础知识点(C++和C语言的区别)

    C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式 等。熟悉C语言之后,对C++学习有一定的帮助。 本博客目标: 1.补充C语言语法的不足,以及C++是如何对C语言设计不合理的地方进行优化的,比如:作用域方面、IO方面、函数方面、指

    2024年02月03日
    浏览(52)
  • c语言基础知识帮助理解(函数递归详解)

    \\\"从前有座山,山里有座庙,庙里有个老和尚和一个小和尚。有一天老和尚对小和尚说:“从前有座山.山里有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚说:“从前有座山.山里有座庙,庙里有个老和尚和一个小和尚......\\\" (虽能体现递归特点,但又不是递归)

    2024年02月14日
    浏览(39)
  • 鸿蒙:Harmony开发基础知识详解

    工欲善其事,必先利其器。 上一篇博文实现了一个 \\\"Hello Harmony\\\" 的Demo,今天这篇博文就以 \\\"Hello Harmony\\\"  为例,以官网开发文档为依据,从鸿蒙开发主要的几个方面入手,详细了解一下鸿蒙开发所需的基础知识。 HarmonyOS提供了一套UI开发框架,即 方舟开发框架 ( ArkUI框架 )

    2024年02月05日
    浏览(52)
  • 开发基础知识-认识Tomcat,Tomcat基础,快速入门Tomcat

    Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 往细的方面说:Tomcat 是一个 HTTP 服务器。HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式

    2024年02月19日
    浏览(96)
  • 自然语言处理从入门到应用——LangChain:基础知识与介绍

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月13日
    浏览(89)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包