c++的学习之路:4、入门(3)

摘要

本章将介绍一下auto、for和指针空值,文章末附上入门的所有代码。

目录

摘要

一、auto

二、for

三、指针空值

四、代码 

五、思维导图


一、auto

这个关键字是c++提出的,可以自动识别变量的类型,可以看出下方图片,auto自动识别变量类型,a是指针就识别出了指针,a就是指针类型的,b和a一样,但是在auto后面接上*就只可以是指针类型的,同理接上&后就只能是引用了,但是要注意这个关键字后面需要有初始化的变量,不能作为函数的形参和初始化数组。

二、for

这个是c++在c语言的基础上改编而来的,直接上代码对比吧,如下图这个for就可以配合上面说的auto使用,可以直接用:分割打印,不需要和传统的for一样使用,但是需要注意的是这个for循环迭代的范围必须是确定的 对于数组而言,就是数组中第一个元素和最后一个元素的范围;对于类而言,应该提供 begin和end的方法,begin和end就是for循环迭代的范围。

三、指针空值

指针空值这个就是在c++创建时有点小BUG就是NULL是0,就是他不是一个指针的值了,在函数重载时匹配的是0,不是指针了,而这时在2011年nullptr作为补丁引入,区别如下图特别明显。

四、代码 

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;//int main()
//{
//	int x = 10;
//	auto a = &x;
//	auto* b = &x;
//	auto& c = x;
//	cout << typeid(a).name() << endl;
//	cout << typeid(b).name() << endl;
//	cout << typeid(c).name() << endl;
//	return 0;
//}//int main()
//{
//	int arr[] = { 1,2,4,4,56,2,78,2 };
//	for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
//	{
//		cout << arr[i] << " ";
//	}
//	cout << endl;
//	for (auto j:arr)
//	{
//		cout << j << " ";
//	}
//	cout << endl;
//	return 0;
//}void test(int)
{cout << "test(int)" << endl;
}
void test(int*)
{cout << "test(int*)" << endl;
}
int main()
{test(0);test(NULL);test(nullptr);return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;//int main()
//{
//	int a = 0;
//	int& b = a;
//	int& c = b;
//	int& d = a;
//	cout << &a << endl;
//	cout << &b << endl;
//	cout << &c << endl;
//	cout << &d << endl;
//	return 0;
//}//int& ly(int a,int b)
//{
//	static int c;
//		c= a + b;
//	return c;
//}
//
//int main()
//{
//	int ret = ly(1, 2);
//	cout << ret << endl;
//	return 0;
//}
//#include <time.h>
//struct A { int a[10000]; };
//void test1(A a) {}
//void test2(A& a) {}
//void test3()
//{
//	A a;
//	size_t begin1 = clock();
//	for (size_t i = 0; i < 100000; ++i)
//		test1(a);
//	size_t end1 = clock();
//	size_t begin2 = clock();
//	for (size_t i = 0; i < 100000; ++i)
//		test2(a);
//	size_t end2 = clock();
//	cout << end1 - begin1 << endl;
//	cout << end2 - begin2 << endl;
//}
//
//int main()
//{
//	test3();
//	return 0;
//}inline int ADD(int a, int b)
{return a + b;
}inline int ADD1(int a, int b, int c)
{c = a + b;a = a + b;b = a + b;c = a + b;a = a + b;b = a + b;c = a + b;a = a + b;b = a + b;c = a + b;a = a + b;b = a + b;c = a + b;a = a + b;b = a + b;c = a + b;a = a + b;c = a + b;b = a + b;return c;
}
int main()
{int ret = ADD(1, 3);int ret1 = ADD1(1, 3,2);return 0;
}

五、思维导图

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

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

相关文章

Java 8的流(Stream)和Lambda表达式求List<User>中age最大和最小的年龄

Java 8的流&#xff08;Stream&#xff09;和Lambda表达式求List中age最大和最小的年龄 要查询一个包含字符串类型age字段的User对象的列表&#xff08;List&#xff09;中的最大和最小年龄&#xff0c;你可以使用Java 8的流&#xff08;Stream&#xff09;和Lambda表达式来实现…

亚马逊、沃尔玛自养号测评技术解析:如何降低潜在风险

亚马逊等电商平台在全球范围内迅速扩张&#xff0c;竞争愈发激烈。为提升产品排名和销量&#xff0c;众多卖家选择采用自养号测评的策略。然而&#xff0c;自养号测评技术并非完美无缺&#xff0c;它存在着一定的技术局限性。由于缺乏对自养号原理及底层环境搭建的深入理解&…

三个截然不同的爆仓案例,值得每个交易者反思

用铜做镜子&#xff0c;能端正衣冠&#xff1b;以史为镜可知兴&#xff1b;以人为镜能明得与失得。”做买卖&#xff0c;需要以他人的得失为鉴&#xff0c;这样才会不断地反思持续地提高持续地进步。在这篇文章中&#xff0c;我们会分享3个完全不同的爆仓案例给交易者一个“与明…

curl 常见使用详解以及调用post/get接口以及post请求使用json传参

前言 CURL是一个功能强大的命令行工具,可用于传输数据并测试各种协议。它最初是为了方便地从命令行传输文件而设计的,但是现在已经发展成为一个通用的HTTP客户端,支持HTTP、HTTPS、FTP、SFTP等多种协议。 基本语法 cURL的基本语法如下: curl [options] [URL...]其中options…

Altium Designer许可证更新

在电子设计领域&#xff0c;Altium Designer已成为设计师们的首选工具。为了不断提升设计效率和创新能力&#xff0c;及时更新Altium Designer许可证至关重要。今天&#xff0c;我们将一同了解更新Altium Designer许可证的重要性&#xff0c;为您揭示最新许可证带来的无限可能。…

ELK-Kibana 部署

目录 一、在 node1 节点上操作 1.1.安装 Kibana 1.2.设置 Kibana 的主配置文件 1.3.启动 Kibana 服务 1.4.验证 Kibana 1.5.将 Apache 服务器的日志&#xff08;访问的、错误的&#xff09;添加到 ES 并通过 Kibana 显示 1.6. 浏览器访问 二、部署FilebeatELK&…

密码学 | 椭圆曲线 ECC 密码学入门(三)

目录 7 这一切意味着什么&#xff1f; 8 椭圆曲线密码学的应用 9 椭圆曲线密码学的缺点 10 展望未来 ⚠️ 原文地址&#xff1a;A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留…

Ubuntu 23.10 搜狗拼音输入法闪屏解决

问题与解决 Ubuntu 23.10下安装搜狗拼音输入法并且使用搜狗输入法时&#xff0c;会闪屏。站内有人说可以换使用Xorg作为显示服务器&#xff0c;然后使用基于X11的桌面&#xff0c;其实可以不用那么麻烦&#xff0c;只需要设置QT的环境变量QT_QPA_PLATFORMxcb&#xff0c;然后重…

特氟龙(PFA)实验室器具有哪些?

PFA 是被称为塑料王&#xff0c;具有出众的化学耐受性&#xff0c;并且可在出色的温度范围内执行工作。 PFA 呈半透明&#xff0c;柔韧&#xff0c;并且由于其高密度重量有点重。PFA 具有惰性和低粘合性&#xff0c;溶出物和痕量金属含量较低。它具有较宽的含氟聚合物温度范围…

【gdb调试】在ubuntu环境使用gdb调试一棵四层二叉树的数据结构详解

目录 &#x1f31e;1. 整体思路 &#x1f31e;2. 准备内容 &#x1f33c;2.1 配置.c文件 &#x1f33c;2.2 准备测试程序 &#x1f33c;2.3 GDB调试基础 &#x1f31e;3. GDB调试四层二叉树 &#x1f33c;3.1 测试程序分析 &#x1f33c;3.2 gdb分析 &#x1f33b;1. …

这些矛盾点不搞清楚,私域怎么做得起来!

最近不少人都在问&#xff0c;私域做不起来怎么办&#xff1f;有很多企业砸了不少钱&#xff0c;有些还做了好几年&#xff0c;依旧没有起色。 有些企业觉得私域做不起来的阻碍有运营方面的原因&#xff0c;比如文案写不好&#xff0c;社群不知道怎么管理&#xff1b;有团队方…

Apache Zeppelin 命令执行漏洞复现(CVE-2024-31861)

0x01 产品简介 Apache Zeppelin 是一个让交互式数据分析变得可行的基于网页的开源框架&#xff0c;Zeppelin提供了数据分析、数据可视化等功能&#xff0c; 0x02 漏洞概述 Apache Zeppelin 中代码生成控制不当&#xff08;“代码注入”&#xff09;漏洞。攻击者可以使用 She…

Vitis HLS 学习笔记--硬件卷积加速 Filter2DKernel

目录 加速器功能 Window2D()函数 实现代码 变量解释 ARRAY_PARTITION DEPENDENCE LOOP_TRIPCOUNT ramp_up 更新Window 更新LineBuffer Filter2D()函数 ARRAY_PARTITION window_stream.read() 计算过程 备注 加速器功能 硬件加速单元从全局内存&#xff08;DDR&a…

Centos7配置IP地址

1、找到网卡名字 使用root用户登陆&#xff0c;输入命令 ifconfig 2、打开配置文件 输入命令&#xff0c;打开配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 3、添加IP地址 3.1修改BOOTPROTO 将“BOOTPROTOdhcp” 改为 “BOOTPROTOstatic” 3.2添加IP地址 在配…

【配置】Docker安装可道云网盘

环境 一台云服务器&#xff0c;centos8&#xff0c;必须安装docker Docker安装 1、卸载旧版 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、需要的安装包 yum ins…

D365开发-在视图按钮的js里,引用别的js里的公共方法

公共方法写法&#xff1a; "use strict"; var JJMC window.JJMC || {}; JJMC.SamMCommon JJMC.SamMCommon || {}; (function () { this.cloneRecord function (excludeAttrbuteNames){ / } }).call(JJMC.SamMCommon); 然后在需要调方法的command里面&#xff0c;之…

解读《算者生存:商业分析的方法与实践》:构建企业经营分析框架的必备指南

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

Java:定时任务无法正常执行(scheduling + ShedLock)

目录 一、场景二、代码片段三、排查四、原因五、解决 一、场景 1、使用定时任务(scheduling) 分布式锁(ShedLock)定期执行一段代码 2、configureTasks()对于任务执行周期的更新是正常的 3、但任务方法无法被执行 二、代码片段 三、排查 1、确认Trigger没有问题 2、查看red…

水封式防暴器 我的真诚一直不变

天气在变&#xff0c;服务不变&#xff0c;季节在变&#xff0c;态度不变&#xff0c;时代在变&#xff0c;品质不变&#xff0c;不管世界怎么变&#xff0c;我的真诚一直不变&#xff01; 一、水封式防暴器的用途介绍&#xff1a; FBQ型系列水封式防暴器是安装在抽放瓦斯泵吸…

第十五届蓝桥杯Java A组参赛总结

一、比赛 4月13号那天上午9点到下午1点&#xff0c;线上比赛总共4小时。 因为很久没有参加过竞赛了&#xff0c;所以还是很紧张&#xff0c;睡觉都有点睡不好&#xff0c;生怕出什么差错 我参加的是java的A组&#xff0c;两道填空&#xff08;每道5分&#xff09;和六道大题…