C++入门级文章

news2024/11/13 15:04:27

一、一个用于查询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.coloradmin.cn/o/1972670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

书生大模型学习笔记 - Python

Python实现wordcount 请实现一个wordcount函数&#xff0c;统计英文字符串中每个单词出现的次数。返回一个字典&#xff0c;key为单词&#xff0c;value为对应单词出现的次数。 解题思路&#xff1a;首先把字母转小写>然后把单词取出来去除标点>循环单词列表>key已存…

老板让你点评网页UI,你却不知道如何说起……

当评价网页UI设计时&#xff0c;可以参考以下几个标准&#xff1a; 1. 一致性&#xff08;Consistency&#xff09;&#xff1a; 一个优秀的网页UI应该保持一致性&#xff0c;即在整个网页中使用相同的设计元素和样式&#xff0c;如颜色、字体、按钮样式等。这样可以增加用户…

2024年【北京市安全员-B证】新版试题及北京市安全员-B证模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-B证新版试题考前必练&#xff01;安全生产模拟考试一点通每个月更新北京市安全员-B证模拟试题题目及答案&#xff01;多做几遍&#xff0c;其实通过北京市安全员-B证作业考试题库很简单。 1、【多选题】…

Html实现全国省市区三级联动

目录 前言 1.全国省市区的Json数据 2.找到Json数据文件(在此博文绑定资源)之后&#xff0c;放到resource目录下。 3.通过类加载器加载资源文件&#xff0c;读取Json文件 3.1 创建JsonLoader类 3.2 注入JsonLoader实体&#xff0c;解析Json文件 4.构建前端Html页面 5.通过…

至尊雄心:成为不甘平庸的男人,掌握顶级赢家思维

至尊雄心&#xff1a;成为不甘平庸的男人&#xff0c;掌握顶级赢家思维 嘿&#xff0c;伙计们&#xff01;如果你是个有抱负的男人&#xff0c;或者你想要成为一个有成就的男人&#xff0c;那么这篇文章就是为你量身定做的。这里&#xff0c;我们将一起探讨那些顶级赢家的思维…

开源蓝牙协议栈-Zephyr Bluetooth

关于Zephyr的介绍&#xff0c;参考&#xff1a; https://blog.csdn.net/2201_75889983/article/details/129366754 Zephyr最初是由Wind River公司开发的一个微内核&#xff0c;在2016年的时候成为Linux基金会维护的一个项目&#xff0c;发展至今&#xff0c;已经成为了一个功能…

国内访问github出现无法访问,用Watt Toolkit加速

文章目录 前置1. 访问github出现“无法访问...”2. 安装Watt Toolkit点击下载接受并下载下载渠道 Watt Toolkit 就绪侧栏“网络加速”下拉滚动条勾选github&#xff0c;点右上“一键加速”再次访问 github.com ,可以访问 前置 准备好微软账号 1. 访问github出现“无法访问…”…

vulnhub靶机:Tomato

目录 靶机导入 信息收集 发现 IP 目录扫描 端口扫描 访问 web 漏洞利用 方法1&#xff1a;报错连接拿 shell 方法2&#xff1a; 使用python3进行反弹shell 提权 靶机导入 tomato 下载地址&#xff1a;Tomato: 1 ~ VulnHub 信息收集 发现 IP arp-scan -l 发现靶机 IP…

【Qt】QMainWindow之菜单栏

目录 一.菜单栏 1.概念 2.组成 二.代码创建菜单栏 1.创建菜单栏 2.在菜单栏中添加菜单 3.在菜单中添加菜单项 三.图形化创建菜单栏 1.在打开Qt自带的ui文件界面后&#xff0c;得到以下界面 2.双击点击界面中&#xff08;在这里输入&#xff09;&#xff0c;在菜单栏中进行…

【开端】JAVA日志框架LogFactory

熟悉的一行代码 private static final Log logger LogFactory.getLog(Application.class); 这一行代码就是使用了LogFactory日志框架&#xff0c;对类Application&#xff0c;进行日志输出。 private static final 这里表示虚拟机启动后就创建一个最终的日志对象Log logger 创…

MySQL学习(18):触发器

1.什么是触发器 *触发器是在 insert/update/delete 之前或之后&#xff0c;触发并执行触发器中定义的SQL语句集合。 *日志记录&#xff0c;数据校验等操作使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容。OLD引用的是触发器变化前的内容&#xff0c;NEW引用的是触发…

鸿蒙Flex布局

效果&#xff1a; 代码&#xff1a; 换行代码参数设置&#xff1a; wrap:FlexWrap.Wrap Entry Component struct FlexCase {State message: string Hello World;build() {Flex({direction:FlexDirection.Row,justifyContent:FlexAlign.SpaceAround,alignItems:ItemAlign.Cen…

QT和Electron之争,谁才是王者,看看界面判断下

QT 和 Electron 都是用于开发跨平台应用程序的框架&#xff0c;但很难简单地判定谁是“王者”&#xff0c;因为它们各有优劣&#xff0c;适用于不同的场景和需求。 QT 是一个成熟的 C 框架&#xff0c;具有以下优点&#xff1a; 性能出色&#xff1a;由于是基于 C 开发&#…

Eureka详解:解锁微服务架构中的服务发现与注册超能力!

Eureka是一款由Netflix开源的服务发现框架&#xff0c;主要用于微服务架构中的服务注册与发现。在使用Eureka时&#xff0c;涉及到配置Eureka Server、配置Eureka Client、服务注册与发现等步骤。 Eureka服务端配置&#xff1a; 引入依赖&#xff1a;在项目的pom.xml文件中添加…

【秋招笔试】24-07-27-OPPO-秋招笔试题(研发岗)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 💡本套卷的题目都是计数相关的题,对这方…

针对一个红队病毒样本逆向分析

近日翻到一个比较新颖的样本&#xff0c;在最终后门载荷释放前运用了不少免杀手段&#xff0c;包括堆栈欺骗&#xff0c;实现反射性调用API&#xff0c;以及DLL侧加载、DLL挖空、HOOK规避等手法&#xff0c;对其执行流程和部分手法做详细分析记录。 样本概述 初始载荷 初始载…

【硬件开发】树莓派4B散热性能

树莓派4B散热性能 树莓派引脚 树莓派 40Pin 引脚对照表 rpi-pins-40-0 注&#xff1a;本表格适用于各版本&#xff0c;并且兼容26Pin的树莓派B&#xff0c;树莓派B为26Pin&#xff0c;其引脚对应于上表的前26Pin。 使用下面这款 GPIO 参考卡片&#xff0c;让引脚功能一目了…

谷粒商城实战笔记-101-分布式基础篇总结

文章目录 一、分布式基础概念二、基础开发三、环境搭建四、开发规范 分布式基础篇已经学习完成&#xff0c;包含了以下4个部分的知识&#xff1a; 1&#xff0c;分布式基础概念2&#xff0c;基础开发3&#xff0c;环境搭建4&#xff0c;开发规范 学习并掌握这部分内容&#x…

超声波眼镜清洗机是智商税吗?最好用的超声波清洗机推荐

大家知道&#xff0c;在咱们生活的环境里。到处充斥着细菌&#xff0c;像衣服上、手上等等地方都很容易被沾染上比细菌&#xff0c;很影响咱们的健康。所以大家会勤洗手&#xff0c;勤换洗衣服&#xff0c;来减少细菌病毒伤害。然而对于戒指、项链、眼镜、手表等配饰细菌&#…

软考:软件设计师 — 9.数据流图

九. 数据流图 数据流图是下午场考试中第一个题目&#xff0c;分值 15 分。通常会考察实体名、存储名、加工名的补充&#xff0c;以及找到缺失的数据流并改正等。 1. 数据平衡原则 数据流的分析依赖于数据平衡原则。 父图与子图之间的平衡 父图与子图之间平衡是指任何一张 …