C++面向对象复习笔记暨备忘录

C++指针

指针作为形参

交换两个实际参数的值

#include <iostream>
#include<cassert>
using namespace std;int swap(int *x, int* y) {int a;a = *x;*x = *y;*y = a;return 0;
}
int main() {int a = 1;int b = 2;swap(&a, &b);cout << a << " " << b << endl;
}

数组作为函数参数

#include <iostream>
#include<cassert>
using namespace std;void f(int arr[]) {cout << sizeof(arr) << endl;
}
int main() {int array[5] = { 1,2,3,4,5 };cout << sizeof(array) << endl;f(array);return 0;
}

运行结果:

 

C++面向对象

<待更新>

C++11扩展

nullptr

如果有重载函数void f(int *x)和void f(int x)

那么,f(NULL)将会调用f(int x),这肯定不是程序员的原意。

C++11引入新的关键字nullptr, 充当单独的空指针常量。调用f(NULL)将会调用f(int* x)

auto

如果申请动态变量时给出初值,就可以使用auto推断所需分配的对象类型。例如:

#include <iostream>
#include<cassert>
using namespace std;int main() {auto p1 = new auto(10);cout << *p1 << endl;delete p1;return 0;
}

动态数组初始化

C++11允许为动态数组指定初值。

#include <iostream>
#include<cassert>
using namespace std;int main() {int* p = new int[5] {1, 2, 3, 4, 5};cout << p[0] << endl;delete p;return 0;
}

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

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

相关文章

Metasploit框架(3), meterpreter 常用命令, sniffer流量监听, portfwd端口转发, kiwi, Mimikatz密码破解

Metasploit框架(3), meterpreter 常用命令与扩展工具 进入到 meterpreter > 提示符环境下才能执行命令 一, 常用命令 sysinfo # 系统信息 getuid # 当前用户 getprivs # 当前权限 load priv # 加载priv getsystem # 提权到系统权限 clearev # 清除系…

【开源视频联动物联网平台】为什么需要物联网网关?

在一些物联网项目中&#xff0c;物联网网关这一产品经常被涉及。那么&#xff0c;物联网网关究竟有何作用&#xff1f;具备哪些功能&#xff1f;同时&#xff0c;我们也发现有些物联网设备并不需要网关。那么&#xff0c;究竟在何时需要物联网网关呢&#xff1f; 物联网的架构…

LaTeX插入裁剪后的pdf图像

画图 VSCode Draw.io Integration插件 有数学公式的打开下面的选项&#xff1a; 导出 File -> Export -> .svg导出成svg格式的文件。然后用浏览器打开svg文件后CtrlP选择另存为PDF&#xff0c;将图片存成pdf格式。 裁剪 只要安装了TeXLive&#xff0c;就只需要在图…

LVS-NAT实验

实验前准备&#xff1a; LVS负载调度器&#xff1a;ens33&#xff1a;192.168.20.11 ens34&#xff1a;192.168.188.3 Web1节点服务器1&#xff1a;192.168.20.12 Web2节点服务器2&#xff1a;192.168.20.13 NFS服务器&#xff1a;192.168.20.14 客户端&#xff08;win11…

java线程池管理工具类

1&#xff0c;这是线程池管理工具类&#xff0c;在系统关闭时确保任务执行完毕&#xff0c;自定义线程名字&#xff0c;自定义抛弃策略默认使用了CallerRunsPolicy拒绝策略 import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue;imp…

网络数据通信—ProtoBuf实现序列化和反序列化

目录 前言 1.环境搭建 2. centos下编写的注意事项 3.约定双端交互接口 4.约定双端交互req/resp 5. 客户端代码实现 6.服务端代码实现 前言 Protobuf还常用于通讯协议、服务端数据交换场景。那么在这个示例中&#xff0c;我们将实现一个网络版本的通讯录&#xff0c;模拟…

ESD静电试验方法及标准

文章目录 概述静电放电抗扰标准静电放电实验室的型式试验静电放电试验配置静电放电试验方法 静电放电等级 参考静电放电发生器&#xff08;ESD&#xff09;试验方法及标准 概述 在低湿度环境下通过摩擦使人体充电的人体在与设备接触时可能会放电&#xff0c;静电放电的后果是&…

Spring Boot 在进行依赖注入时,使用了反射机制,类加载器-启动类拓展类-应用类加载器

类加载器作用 将class文件字节码内容加载到内存中&#xff0c;并将这些静态数据转换成方法区的运行时数据结构&#xff0c;然后在堆中生成一个代表这个类的java.lang.Class对象&#xff0c;作为方法区中类数据的访问入口。能不能用通俗的语言翻译一下类加载器的作用 类加载通…

uniapp 打包的 IOS打开白屏 uniapp打包页面空白

uniapp的路由跟vue一样,有hash模式和history模式, 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。…

PHP项目用docker一键部署

公司新项目依赖较多&#xff0c;扩展版本参差不一&#xff0c;搭建环境复杂缓慢&#xff0c;所以搭建了一键部署的功能。 docker-compose build 构建docker docker-compose up 更新docker docker-compose up -d 后台运行docker docker exec -it docker-php-1 /bin/bas…

00Hadoop数据仓库平台

在这里是学习大数据的第一站 什么是数据仓库常见大数据平台组件及介绍 什么是数据仓库 在计算领域&#xff0c;数据仓库&#xff08;DW 或 DWH&#xff09;也称为企业数据仓库&#xff08;EDW&#xff09;&#xff0c;是一种用于报告和数据分析的系统&#xff0c;被认为是商业智…

Vite 了解

1、vite 与 create-vite 的区别 2、vite 解决的部分问题 3、vite配置文件的细节 3.1、vite语法提示配置 3.2、环境的处理 3.3、环境变量 上图补充 使用 3.4、vite 识别&#xff0c;vue文件的原理 简单概括就是&#xff0c;我们在运行 npm润dev 的时候&#xff0c;vite 会搭起…

hugging face下载dataset时候出现You must be authenticated to access it.问题解决

Cannot access gated repo for url https://huggingface.co/tiiuae/falcon-180B/resolve/main/tokenizer_config.json. Repo model tiiuae/falcon-180B is gated. You must be authenticated to access it. 参考https://huggingface.co/docs/huggingface_hub/guides/download …

.net HttpClient封装

using Newtonsoft.Json; /// <summary> /// Http 请求工具类 /// </summary> public class HttpClientUtils { /// <summary> /// 请求的域名 /// </summary> public static string BaseUrl { get; set; } "http://localhost:5016"; /// &l…

Mac 浏览器下载的文件名总是「乱码」

如果可以实现记得点赞分享&#xff0c;谢谢老铁&#xff5e; 本文所说的方法是在出现文件名乱码情况下&#xff0c;如何恢复文件名的正确中文名称&#xff0c;并非一劳永逸地避免乱码的出现。这是由于下载文件名称乱码的出现&#xff0c;往往是系统、浏览器、网站三方面因素共…

W2311294-万宾科技可燃气体监测仪怎么进行数据监测

万宾科技可燃气体监测仪怎么进行数据监测 燃气是现代城市之中重要的能源&#xff0c;它已经渗透到城市生活的方方面面&#xff0c;对燃气管网的管理也在考验着政府人员的工作能力。燃气管网的安全运行和城市的安全和人民的生活直接挂钩。为了及时掌握燃气管网的运行状态&#x…

运维笔记111

运维笔记 Navicat中查询指定字段名所在的表名tomcat设置JVM的初始堆内存修改catalina.sh文件修改完保存并关闭tomcat启动tomcat 查询数据库连接数查询是否存在死锁 Navicat中查询指定字段名所在的表名 SELECT * FROM information_schema.COLUMNS WHERE COLUMN_NAME‘替换成你要…

基于docker的onlyoffice使用--运行JavaSpringExample

背景 我之前看到有开源项目很好地集成了onlyoffice&#xff0c;效果要比kkfilepreview好&#xff08;应当说应用场景不太一样&#xff09;。本文是在window10环境&#xff0c;安装完Docker Desktop的基础上运行onlyoffice&#xff0c;并利用官网JavaSpringExample进行了集成。 …

大数据之 Hadoop

hadoop主要解决&#xff1a;海量数据的存储和海量数据的分析计算 hadoop发展历史 Google是hadoop的思想之源&#xff08;Google在大数据方面的三篇论文&#xff09; 2006年3月&#xff0c;Map-reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目&#xff0c…

Delphi语言怎样对自己定义类进行持久化保存及恢复 (性能远比json/xml高)

Delphi的RTL自身就带有一套非常好的资源持久化保存&#xff08;IDE设计窗口时&#xff0c;保存为DFM格式及编译到EXE里面的资源文件&#xff09;及恢复机制&#xff08;EXE启动时对窗口资源的载入&#xff09;&#xff0c;那么应不是必需再额外用xml/json格式保存程序的參数了。…