C++入门级文章

一、一个用于查询C++标准库内函数、操作符等的链接

https://legacy.cplusplus.com/reference/
声明:该文档并非官方文档,但其具有易于查询和使用的优势,足够日常使用。

二、C++的第一个程序

1、C语言中的语法在C++中仍旧适用,首先我们来看一下C语言和C++的一点区别

#include<stdio.h>
//C语言中的打印
int main()
{printf("Hello word");return 0;
}
#include<iostream>
using namespace std;
//C++中的打印
int main1()
{cout << "Hello word" << endl;return 0;
}

上述代码都可以打印出 “Hello word” 这个字符串,但是其书写过程却不太一样,这是因为C++有着自己的一套输出流程。

三、namespace的定义

1、定义命名空间: 

其使用方法就是namespace后面加上命名空间域的名字跟一个大括号即可,其内容可以是变量/函数/结构体等。

namespace lx
{int rand = 10;int Add(){}struct str{};
}

2、其本质是开辟一个独立的空间域,独立于全局域和局部域之外,在定义的命名空间域内创建与全局变量相同名字的变量不会产生冲突。

int a = 20;namespace lx
{int a = 10;int Add(){}struct str{};
}

3、namespace只能定义在全局,同时它是可以嵌套定义的

namespace lx
{int a = 10;namespace bit{int a = 10;}
}

4、在多文件下定义的同名namespace会被认为是同一个空间域

四、命名空间的使用

当我们编译或者运行的时候编译器不会去到命名空间中去查找,而是在全局域和局部域中查找,所以我们需要额外使用一个操作符来解决这个问题。

“::”:这两个冒号组成的操作符叫作用域解析运算符,其使用方法为

1、命名空间的名字+域解析运算符+空间内部变量/函数等的名字:指定访问的命名空间

2、using+命名空间的名字+域解析运算符+空间内部变量/函数等的名字:展开指定成员

3、using+namespace+命名空间名:展开命名空间中的全部成员

五、C++的输入和输出

<iostream>是标准的输入输出流库,定义了标准的输入输入对象。

std::cin是标准的输入流,是istream类的对象

std::cout是标准的输出流,是ostream类的对象

std::endl是一个函数,流插入输出时,相当于增加一个换行符来加速缓冲区的刷新

<<是流插入运算符,在输出时使用

>>是流提取运算符,在输入时使用

cout/cin/endl等都属于C++标准库,C++标准库都放在一个叫std(standard)的命名空间中,所以要通过命名空间的方式去使用他们

int main()
{cout << "Hello word" << endl;int a = 0;cin >> a;cout << a << '\n';return 0;
}
//这里的endl和\n具有同样的效果,但是\n并不能取代endl

六、缺省参数

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

全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值,在C++中规定形参缺省值的给定必须是从右往左给,不能间隔或者跳跃给。

带缺省的函数调用时必须使用从左到右的方式给实参,不能间隔跳跃

函数的声明和定义分离时,声明和定义不能同时给定缺省值,只有在函数声明时才能给定缺省值

从上图中我们就可以看出,当定义和声明同时给定缺省值时就会产生错误。

完结撒花-------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/390001.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机无刷电机技术详解及选型

1. 技术原理 无人机无刷电机&#xff08;Brushless DC Motor, BLDC&#xff09;是现代无人机动力系统的核心部件&#xff0c;其工作原理基于电磁感应和换向技术&#xff0c;实现了无需物理接触即可持续旋转的高效率动力输出。与传统有刷电机相比&#xff0c;无刷电机通过电子换…

Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享

场景 作为一名Java开发者&#xff0c;势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。 当经历过几年企业级开发的磨炼&#xff0c;再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。 作为一名终身学习的信奉者&#xff0c;秉承Java体系需持续学习、…

【C++高阶】:C++11的深度解析上

✨ 心似白云常自在&#xff0c;意如流水任东西 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f4…

Spring Cache框架(AOP思想)+ Redis实现数据缓存

文章目录 1 简介1.1 基本介绍1.2 为什么要用 Spring Cache&#xff1f; 2 使用方法2.1 依赖导入&#xff08;Maven&#xff09;2.2 常用注解2.3 使用步骤2.4 常用注解说明1&#xff09;EnableCaching2&#xff09;CachePut3&#xff09;Cacheable4&#xff09;CacheEvict 3 注意…

数据库相关概念大全!

一、什么是数据库&#xff1f; 1.数据库 数据库是一种更易于访问、更高效且更有条理的长期存储和处理信息的方式。 2. 优点&#xff0c;作用 数据库存储数据的规范性和系统性以及其检索数据的便捷性使其成为基于 Web 的应用程序中重要的部分。 数据库几乎可以用于所有应用程…

java中InputStream, OutputStream 的用法

java针对文件的操作有两种1.文件系统操作 File类指定的路径可以使一个不存在的路径。2&#xff0c;文件内容操作&#xff0c;流对象。 流也分为两种1)字节流&#xff08;二进制文件&#xff09;&#xff1a;以字节为基本单位读写的使用InputStream&#xff08;&#xff09;和Ou…

FFmpeg源码:av_gcd函数分析

一、引言 公约数&#xff0c;是一个能同时整除几个整数的数。如果一个整数同时是几个整数的约数&#xff0c;称这个整数为它们的“公约数”&#xff1b;公约数中最大的称为最大公约数。对任意的若干个正整数&#xff0c;1总是它们的公约数。 公约数与公倍数相反&#xff0c;就…

DB-Engines Ranking 2024年8月数据库排行

DB-Engines Ranking 2024年8月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2024年8月&#xff0c;共有423个数据库进入排行。 排行榜 前15名趋势图 关系型数据库前 10 名 键值数据库前 10 名 文档数据库前 10 名 时序数据库前 10 …

Google引领LLM竞赛:Gemini 1.5 Pro的创新与突破

在科技领域&#xff0c;语言模型&#xff08;LLM, Large Language Model&#xff09;的发展总是备受瞩目。多年来&#xff0c;Google在这场竞赛中一直处于追赶的状态&#xff0c;但这一次&#xff0c;他们终于站在了领先的位置。Google近日发布了Gemini 1.5 Pro实验版本&#x…

Nginx进阶-常见配置

一、nginx Proxy 反向代理 1、代理原理 反向代理产生的背景&#xff1a; 在计算机世界里&#xff0c;由于单个服务器的处理客户端&#xff08;用户&#xff09;请求能力有一个极限&#xff0c;当用户的接入请求蜂拥而入时&#xff0c;会造成服务器忙不过来的局面&#xff0c…

Unity后处理(Post-processing)

Unity post-processing 就像是对图片采用滤镜一样&#xff08;如下图对比&#xff09;对当前场景显示做一定的显示处理&#xff0c;使得场景更漂亮、有趣或者有型。 视觉风格与视觉保真 游戏场景后处理能够达到所需的视觉风格&#xff08;visual style&#xff09;同时也保证视…

文件解析漏洞

IIS解析漏洞 在windows Server 2003安装iis 1.IIS6.X 1.1 目录解析 在网站下建立文件夹的名字为 .asp/.asa 的文件夹&#xff0c;其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 先创建一个1.asp文件夹 再创建一个1.txt 里面写 <%now()%> 2.1 畸形文件…

DTU、RTU和边缘计算网关的联系与区别

在工业4.0发展浪潮中&#xff0c;物联网助力工业逐渐向智能化发展&#xff0c;各种工业设备相互连接起来形成物联网。而传输层作为物联网体系中十分重要的一环&#xff0c;它是连接物理世界与数字世界的桥梁&#xff0c;是数据的第一入口。 其中&#xff0c;我们经常会使用到三…

jQuery入门(五)Ajax和json

一、Ajax 简介 AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 本身不是一种新技术&#xff0c;而是多个技术综合。用于快速创建动态网页的技术。 一般的网页如果需要更新内容&#xff0c;必需重新加载个页面。 而 AJAX 通过浏览器与服务器进行…

windows内存泄漏检查汇总

VLD(Visual Leak Detector) 下载 官方下载地址2.5 另一分支2.7 安装 点击运行安装

苹果手机升级iOS18测试版本后使用体验不好?怎么降级?

近期苹果发布了诸多的iOS18版本给用户提前尝鲜测试&#xff0c;许多果粉们都迫不及待的选择了升级&#xff0c;但是有不少的果粉升级时没有考虑到设备适配性问题&#xff0c;导致升级之后手机变得有些卡顿&#xff0c;使用体验不好时&#xff0c;想要降级回到正式的版本&#x…

ubuntu安装nginx以及php的部署

1.安装依赖包 apt-get install gcc apt-get install libpcre3 libpcre3-dev apt-get install zlib1g zlib1g-dev sudo apt-get install openssl sudo apt-get install libssl-dev 2.安装nginx cd /usr/local mkdir nginx cd nginx tar -xvf nginx-1.21.6.tar.gz 3.编译…

【考研高数】反函数的那些事

在这里给同学们推荐来自「荒原之梦考研数学」网的三篇文章&#xff0c;分别是反函数的性质汇总&#xff0c;以及两道相关习题&#xff0c;有需要加强这部分练习的同学&#xff0c;可以点击下方链接&#xff0c;在「荒原之梦考研数学」官网中打开对应的文章&#xff1a; 《反函…

【算法】双指针-OJ题详解1

双指针-OJ题 移动零&#xff08;点击跳转&#xff09;原理讲解代码实现 复写零&#xff08;点击跳转&#xff09;原理讲解代码实现 快乐数&#xff08;点击跳转&#xff09;原理讲解代码实现 盛最多水的容器&#xff08;点击跳转&#xff09;原理讲解代码实现 有效三角形的个数…