c++常见函数处理
1、clamp
clamp:区间限定函数
int64_t a = Clamp(a, MIN_VALUE, MAX_VALUE);
#include <iomanip>
#include <iostream>
#include <sstream>int main()
{std::cout << "no setw: [" << 42 << "]\n"<< "setw(6): [" << std::setw(6) << 42 << "]\n"<< "no setw, several elements: [" << 89 << 12 << 34 << "]\n"<< "setw(6), several elements: [" << 89 << std::setw(6) << 12 << 34 << "]\n";std::istringstream is("hello, world");char arr[10];is >> std::setw(6) >> arr;std::cout << "Input from \"" << is.str() << "\" with setw(6) gave \""<< arr << "\"\n";
}
2、difftime
计算秒维度的两个时间的差距
#include <stdio.h>
#include <time.h>int main(void)
{time_t now = time(0);struct tm beg = *localtime(&now);// set beg to the beginning of the monthbeg.tm_hour = 0,beg.tm_min = 0,beg.tm_sec = 0,beg.tm_mday = 1;double seconds = difftime(now, mktime(&beg));printf("%.f seconds have passed since the beginning of the month.\n", seconds);return 0;
}
3、std::stable_sort
按非降序对 [first, last] 范围内的元素进行排序。保证保留相等元素的顺序。
如果对于任何迭代器,它指向序列和任何非负整数 n,使得它 + n 是指向序列元素的有效迭代器,则序列相对于比较器 comp 进行排序,comp(*(it + n)、*it)(或 *(it + n) < *it) 的计算结果为 false。
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>struct Employee
{int age;std::string name; // Does not participate in comparisons
};bool operator<(const Employee& lhs, const Employee& rhs)
{return lhs.age < rhs.age;
}int main()
{std::vector<Employee> v{{108, "Zaphod"}, {32, "Arthur"}, {108, "Ford"}};std::stable_sort(v.begin(), v.end());for (const Employee& e : v)std::cout << e.age << ", " << e.name << '\n';
}
std::stable_sort(match_docs.begin(), match_docs.end(),[&ref_struct](const MatchDoc &lhs, const MatchDoc &rhs) {int64_t l_level = ref_struct.level_ref->get(lhs);int64_t r_level = ref_struct.level_ref->get(rhs);float l_score = ref_struct.score_ref->get(lhs);float r_score = ref_struct.score_ref->get(rhs);if (l_level == r_level) {return l_score >= r_score;} else {return l_level > r_level;}});
4、resize
重新指定vector的大小
#include <vector>
#include <iostream>void print(auto rem, const std::vector<int>& c)
{for (std::cout << rem; const int el : c)std::cout << el << ' ';std::cout << '\n';
}int main()
{std::vector<int> c = {1, 2, 3};print("The vector holds: ", c);c.resize(5);print("After resize up to 5: ", c);c.resize(2);print("After resize down to 2: ", c);c.resize(6, 4);print("After resize up to 6 (initializer = 4): ", c);
}
5、std::vector<T,Allocator>::insert
vector的插入函数
#include <iostream>
#include <iterator>
#include <vector>void print(int id, const std::vector<int>& container)
{std::cout << id << ". ";for (const int x : container)std::cout << x << ' ';std::cout << '\n';
}int main ()
{std::vector<int> c1(3, 100);print(1, c1);auto it = c1.begin();it = c1.insert(it, 200);print(2, c1);c1.insert(it, 2, 300);print(3, c1);// `it` no longer valid, get a new one:it = c1.begin();std::vector<int> c2(2, 400);c1.insert(std::next(it, 2), c2.begin(), c2.end());print(4, c1);int arr[] = {501, 502, 503};c1.insert(c1.begin(), arr, arr + std::size(arr));print(5, c1);c1.insert(c1.end(), {601, 602, 603});print(6, c1);
}
6、 std::stringstream
用来进行流的输入、输出和输入输出操作
std::stringstream sstream;
sstream.precision(4);
sstream << basic_score << ","<< basic_score<< ","<< qd_ctr_24h << "," << qd_ctr_7d << ","<< log_qd_clk_24h << "," << log_qd_clk_7d;
std::string features = sstream.str();
7、参考文献
理解 C++ 中的 Vector insert()
std::vector<T,Allocator>::resize - cppreference.com
difftime() function in C++ - GeeksforGeeks
std::time_t - cppreference.com
std::clamp - cppreference.com
std::stable_sort - cppreference.com
std::vector<T,Allocator>::insert - cppreference.com
clamp函数:区间限定函数-CSDN博客
C++编程语言中stringstream类介绍-CSDN博客
相关文章:
c++常见函数处理
1、clamp clamp:区间限定函数 int64_t a Clamp(a, MIN_VALUE, MAX_VALUE); #include <iomanip> #include <iostream> #include <sstream>int main() {std::cout << "no setw: [" << 42 << "]\n"<&l…...
MYsql第二次作业
目录 问题 解答 1.显示所有职工的基本信息。 2.查询所有职工所属部门的部门号,不显示重复的部门号。 3.求出所有职工的人数。 4.列出最高工和最低工资。 5.列出职工的平均工资和总工资。 6.创建一个只有职工号、姓名和参加工作的新表,名为工作日…...
SQLAlchemy 第三篇
使用insert语句 from sqlalchemy import Table, Column, Integer, String, MetaDatametadata_obj MetaData() user_table Table("user_account",metadata_obj,Column("id", Integer, primary_keyTrue),Column("name", String(255)),Column(&q…...
交互过程中影响信息质量好坏的因素
人机交互是指人与计算机之间的交流和互动,而人人交流是指人与人之间的交流和互动。在信息质量方面,人机交互通常更为准确和精确,而人人交流可能存在误解、模糊和歧义。 人机交互的信息传递往往通过明确的界面、符号和指令等方式进行。计算机可…...
服务器上配置jupyter,提示Invalid credentials如何解决
我是按照网上教程在服务器上安装的jupyter以及进行的密码配置,我利用 passwd()这个口令生成的转译密码是"argon...."。按照教程配置jupyter notebook配置文件里面的内容,登陆网页提示"Invalid credentials"。我谷歌得到的解答是&…...
Axure中动态面板使用及轮播图多种登录方式左侧导航栏之案列
🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、轮播图简介 1、什么是轮播图 2、轮播图有什么作用 3、轮播图有什么特点 4、轮播图适应范围 5、…...
大数据之旅-问题反思
1.谈谈你对MR执行流程各个阶段的理解(提示里面涉及到排序,快速排序或者归并排序知道两种实现形式)? 2.hadoop 1.0和hadoop 2.0明显的差异如何理解? hadoop2.0与hadoop1.0区别体现在在架构、性能、功能和组件方面&…...
系统级基础信号知识【Linux】
目录 一,什么是信号 进程面对信号常见的三种反应概述 二,产生信号 1.终端按键产生信号 signal 2. 进程异常产生信号 核心转储 3. 系统调用函数发送信号 kill raise abort 小结: 4. 由软件条件产生 alarm 5. 硬件异常产生信号…...
Excel单元格隐藏如何取消?
Excel工作表中的有些单元格隐藏了数据,如何取消隐藏行列呢?今天分享几个方法给大家 方法一: 选中隐藏的区域,点击右键,选择【取消隐藏】就可以了 方法二: 如果工作表中有多个地方有隐藏的话,…...
Visual Studio(VS)常用快捷键(最详细)
Visual Studio常用快捷键 一、生成:常用快捷键二、调式:常用快捷键三、编辑:常用快捷键四、文件:常用快捷键五、项目:常用快捷键六、重构:常用快捷键七、工具:常用快捷键八、视图:常…...
UDP特性之组播(多播)
UDP特性之组播 1. 组播的特点2. 设置主播属性2.1 发送端2.2 接收端 3. 组播通信流程3.1 发送端3.2 接收端 4. 通信代码 原文链接 在公司测试广播和多播有一点问题。。。 1. 组播的特点 组播也可以称之为多播这也是UDP的特性之一。组播是主机间一对多的通讯模式,是…...
ElasticSearch之cat shards API
命令样例如下: curl -X GET "https://localhost:9200/_cat/shards?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果输出如下: index shard prirep state docs s…...
Thread-Per-Message设计模式
Thread-Per-Message是为每一个消息的处理开辟一个线程,以并发方式处理,提高系统整体的吞吐量。这种模式再日常开发中非常常见,为了避免线程的频繁创建和销毁,可以使用线程池来代替。 示例代码如下: public class Requ…...
运筹学经典问题(一):指派问题
问题描述 有 N N N个任务,需要 N N N个人去完成,每个人完成不同工作的效率不同(或者资源、收益等等),需要怎么分配使得整体的效率最高(成本最低等等)呢?这就是经典的指派问题啦&…...
产品经理之如何编写竞品分析(医疗HIS系统管理详细案例模板)
目录 一.项目周期 二.竞品分析的目的 三.竞品分析包含的维度 四.如何选择竞品 五.竞品画布 六.案例模板 一.项目周期 在整个项目的周期,产品经理所做的事情主要在项目前期做市场分析、需求调研等,下面一张图概况了整个项目周期产品经理、开发工程师…...
虚拟内存管理
虚拟内存管理 页面置换算法 功能和目标: 功能:当缺页中断发生,需要调入新的页面而内存已经满时,选择内存当中哪个物理页面被置换。目标:尽可能的减少页面的换进换出次数(即缺页中断的次数)。具…...
ssh时怎么同时指定其端口号,以及scp文件到远程的指定端口
如果想要通过 SSH 连接到指定端口的远程服务器,可以在 SSH 命令中使用 -p 或 --port 参数来指定端口号。以下是相应的用法: $ ssh -p <port> userhost其中, 是要连接的端口号,user 是远程服务器上的用户名,host…...
Redis过期淘汰策略
一. Redis过期淘汰策略 当Redis已用内存超过maxmemory限定时,触发主动清理策略。 主动清理策略在Redis 4.0之前一共实现了 6 种内存淘汰策略,在 4.0 之后,又增加了 2 种 策略,总共8种: 针对设置了过期时间的key做处理…...
微信小程序---自定义组件
目录 1.局部引用组件 2.全局引用组件 3.组件和页面的区别 4.自定义组件样式 5.properties属性 6.data和properties的区别 7.数据监听器 8.纯数据字段 9.自定义组件-组件的生命周期 lifetimes节点 10.组件所在的页面的生命周期 pageLifetimes节点 11.插槽 &#x…...
CGAL的最优传输曲线重构
1、介绍 此程序包实现了一种重建和简化二维点集的方法。输入是一组具有质量属性的二维点,可能受到噪声和离群值的干扰。输出是一组线段和孤立点,它们近似于输入点,如下图所示。质量属性与每个点的近似重要性有关。 左:输入点集受到…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
