C++(20):自定义类型实现基于范围的for循环
C++自定义类型,可以通过实现begin和end作为成员函数,来支持基于范围的for循环
#include <iostream>class D{
public:int* begin(){return m_data;}int* end(){return m_data + 5;}
private:int m_data[5]{1, 2, 3, 4, 5};
};int main()
{D d;for (int i : d){std::cout << i << std::endl;}return 0;
}
运行程序输出:
1
2
3
4
5
C++20允许将begin和end做为非成员函数实现以支持基于范围的for循环:
#include <iostream>class D{
public:int m_data[5]{1, 2, 3, 4, 5};
};int* begin(D& d)
{return d.m_data;
}
int* end(D& d)
{return d.m_data + 5;
}int main()
{D d;for (int i : d){std::cout << i << std::endl;}return 0;
}
运行程序输出:
1
2
3
4
5
相关文章:
C++(20):自定义类型实现基于范围的for循环
C自定义类型,可以通过实现begin和end作为成员函数,来支持基于范围的for循环 #include <iostream>class D{ public:int* begin(){return m_data;}int* end(){return m_data 5;} private:int m_data[5]{1, 2, 3, 4, 5}; };int main() {D d;for (in…...
Linux常用命令:find、grep、vim、cat、less、more
目录 我的常用搜索命令 find 命令 grep 命令 vim 常用命令: 1.光标移动命令 2插入命令 3.删除命令 4.复制和粘贴命令 5.撤销和重做命令 6.查找和替换命令 7.文件操作命令 8.其他命令 cat命令 less 命令 more 命令 less和more命令的区别 less和vim命…...
Oracle导入,注意事项
在执行导入时,如果导入的触发器引用的表不存在,可能会导致错误。触发器通常会在相关的表结构之后导入,但在导入阶段,表的创建并不一定会立即执行。 在 Oracle 数据库中,触发器的创建可能涉及到对表的引用,…...
【数据结构】入队序列出队序列问题(以21年408真题举例)
题型说明 一般是一个队列,其中一边可以入队,另一边可以入队和出队只可入队的含义是从这个方向是以队列形式存在可以入队和出队表示此边以堆形式存在 怎么分析? 以21年408真题举例 考点分析 出队序列存在两种情况:入之后就出&…...
在ant构建脚本中调用maven的命令
有时候想用maven管理依赖,用ant构建。 在ant的build.xml文件中可以使用exec这个task来调用系统命令,也就可以调用maven的命令。 例如,执行maven的命令mvn dependency:copy-dependencies,可以将项目的依赖提取出来,放…...
美格智能5G RedCap模组顺利完成中国联通5G物联网OPENLAB开放实验室认证
近日,美格智能5G RedCap模组SRM813Q顺利通过中国联通5G物联网OPENLAB开放实验室端到端的测试验收,并获得OPENLAB实验室的认证证书。这标志着该模组产品各项性能均已符合RedCap商用标准,为5G RedCap规模商用奠定了坚实基础。 中国联通5G物联网…...
Git基础知识学习常用命令一
常用命令 $ git status 工作区域与仓库保持一致step2: 暂存状态 $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ git add xx/xx.py xx/xx2.py # 添加某几个文件Step3: commit $ git commit -m"<这里写commit的描述>" 已提…...
【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用
OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…...
云原生 黑马Kubernetes教程(K8S教程)笔记——kubernetes介绍。Master集群控制节点、Node工作负载节点、Pod控制单元
参考文章:kubernetes介绍 文章目录 1. Kubernetes介绍1.1 应用部署方式演变传统部署:互联网早期,会直接将应用程序部署在物理机上虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境ÿ…...
[护网杯 2018]easy_tornado 1(两种解法!)
题目环境:发现有三个txt文本文件 /flag.txt/welcome.txt/hints.txt 依此点开 flag在/fllllllllllllag文件中 在hints.txt文件中发现md5计算 md5(cookie_secretmd5(filename)) 并且三个文件中都存在filehash(文件名被哈希算法加密32位小写) 猜…...
冒泡排序(Bubble Sort)
目录 1.冒泡排序1.1 基本原理1.2 例子1.3 示例代码 2.魔炮排序2.1 基本原理2.1 例子2.2 示例代码 1.冒泡排序 1.1 基本原理 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的…...
JVM源码剖析之软、弱、虚引用的处理细节
目录 写在前面: 源码剖析: Java层面: JVM层面: 使用危险点: 总结: 版本信息: jdk版本:jdk8u40 垃圾回收器:Serial new/old 写在前面: 不同的垃圾回收…...
Linux服务器上搭建JupyterNotebook教程
搭建需知 1.确保是Linux服务器; 2.已经在linux服务器上安装好anaconda3; 搭建教程 请按照顺序依次执行下面的命令: 1、安装Jupyter Notebook 执行以下命令,安装jupyter notebook conda install jupyter【注】 如果anaconda3…...
记录bug1
项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题࿱…...
【MySQL】rank()、row_number()、dense_rank()用法详解
建表测试 测试表数据:test1 CREATE DATABASE /*!32312 IF NOT EXISTS*/db_test /*!40100 DEFAULT CHARACTER SET utf8 */; USE db_test; /*Table structure for table test1 */ DROP TABLE IF EXISTS test1; CREATE TABLE test1 ( id int(10) NOT NULL, score i…...
NFT合约部署
部署合约: 1.web3 NFT合约部署工具 https://remix.ethereum.org/ 2.tron NFT合约部署工具 https://www.tronide.io/ 3.部署 web3 ERC721代码: // SPDX-License-Identifier: MIT pragma solidity ^0.8.2;import "openzeppelin/contracts/token/ERC7…...
【C++】从入门到精通第三弹——友元函数与静态类成员
这里写目录标题 静态类成员友元友元方法 静态类成员 类成员一般都需要通过对象来访问,不可以通过类名直接访问,但是当我们将类成员定义为静态类成员,则允许使用类名直接访问。 静态类成员是在类成员前定义static关键字。 1 #include<iost…...
acwing算法基础之搜索与图论--floyd算法
目录 1 基础知识2 模板3 工程化 1 基础知识 floyd算法的时间复杂度为O(n^3),它用来解决多源最短路问题。它的原理是基于动态规划。 floyd算法的关键步骤: k从1到n。i从1到n。j从1到n,d[i][j] min(d[i][j], d[i][k] d[k][j])。经过上述三…...
Zabbix监控SSL证书有效期
一、介绍 由于业务需要,最近通过 Let’s Encrypt 申请了一些 SSL 证书,而证书有效期为 3 个月,需要在证书到期之前 renew。由于域名较多经常忘记 renew,导致证书过期,因此想通过 Zabbix 的方式监控证书的到期时间&…...
Arduino OneButton按键处理库实现单击/双击/长按功能
Arduino OneButton按键处理库实现单击/双击长按功能 ✨在Arduino开发平台下,按键的单击/双击/长按功能,在通过使用OneButton库,很容易就可以轻松实现。这就是支持C/C模块化设计的好处,避免重复性开发的工作。 🔖本文将…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
