八股文 八股vector std
C++(std::vector)
这段代码定义了一个 std::vector 对象,该对象的元素类型为 float。std::vector 是 C++ 标准库中的动态数组容器,可以存储多个元素,并且大小可以动态调整。 std::vector<float> 具体解释如下: std::vector: 这是 C++ 标准库中的一个模板类, ......
C++(std::unique_ptr)
std::unique_ptr 是 C++ 标准库中的一种智能指针,用于管理动态分配的内存。它是一种独占拥有权(exclusive ownership)的智能指针,保证同一时刻只有一个 std::unique_ptr 指向特定的资源。当 std::unique_ptr 被销毁时,它所拥有的资源也会被 ......
std::move
在使用std::move时,有几个重要的注意事项: std::move并不会真正地移动对象,真正的移动操作是在移动构造函数、移动赋值函数等完成的,std::move只是将参数转换为右值引用1。 std::move将一个左值强制转化为右值引用,以用于移动语义。移动语义,允许直接转移对象的资产和属性的所 ......
C++(std::shared_ptr)
std::shared_ptr 是 C++ 标准库中的一个智能指针类,用于管理动态分配的内存。它提供了一种共享拥有权(shared ownership)的机制,通过引用计数来跟踪指向同一块内存的所有 std::shared_ptr 实例。当最后一个 std::shared_ptr 被销毁时,它会自动 ......
vector应用
删除指定数字 #include<iostream> #include<vector> using namespace std; int main(){ int n,x; cin>>n; int m[n]; for(int i=0;i<n;i++){ cin>>m[i]; } vector<int> ......
VECTOR INSERT()
#include <iostream> #include <vector> using namespace std; int main() { vector<int> a(20); a.push_back(1); int arr[]={1,2,3,4,5}; vector<int> b(arr,ar ......
使用 std::string_view 提升字符串处理性能
C++标准库提供了一个非常优秀的字符串处理类std::string,我们可以通过该类完成各种字符串操作。但是std::string有一个缺点,它的很多操作都是针对字符串实体,存在不必要的内存拷贝的代码,导致字符串的处理性能不尽如人意。 针对这种情况C++17标准引入了std::string_view ......
灵魂拷问std::enable_shared_from_this,揭秘实现原理
灵魂拷问std::enable_shared_from_this,揭秘实现原理 引言 在C++编程中,使用智能指针是一种安全管理对象生命周期的方式。std::shared_ptr是一种允许多个指针共享对象所有权的智能指针。然而,当一个对象需要获取对自身的shared_ptr时,传统的方法可能导致未定 ......
支持向量机 Support Vector Machine
b站链接【白板推导系列-支持向量机】 SVM 有三宝:间隔、对偶、核技巧 SVM 分类: hard-margin SVM 硬间隔 soft-margin SVM 软间隔 kernel SVM 核 硬间隔分类器(最大间隔分类器)max margin 判别模型: \[f(w)=sign(w^Tx+b) ......
Java面试高频八股文
一、Java基础(一) 1. 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题; 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题; 面向对象开发的程序一般更易维护、易复用、易扩展; 2.基本类型与包装类 ①Java 中的几种基本数据类型了解么? ......
std::io::Error, thiserror和anyhow
std::io::Error, thiserror和anyhow 读到一篇非常好的文章baoyachi大佬的<细说Rust错误处理>从Rust中怎么处理错误, 讲到怎么定义自己的错误类型, 再到如何简化错误处理流程, 再到如何统一错误处理的形式. 但是这些都是基于标准库提供功能实现的, 需要手动写一 ......
std:forward
std::forward 在 C++ 中的主要用途是实现完美转发。它的主要好处有以下几点: 保持值类别:std::forward 能够保持函数参数的值类别(即,它是左值还是右值)。这对于保持潜在的移动语义非常重要2。 优化性能:在模板函数中,我们通常使用 std::forward 来转发函数参数,以 ......
vector的逆序删除
#include <iostream> #include <vector> #include <set> using namespace std; int main() { vector<int>test = { 1,2,2,2,3,4,2,3,2,2,63,2,99,2,2,1}; for (au ......
原生并行版std::accumulate
原生并行版std::accumulate 代码来自《c++并发编程实战》 #include <iostream> #include <numeric> #include <algorithm> #include <thread> #include <functional> #include <v ......
std::is_trivially_destructible的作用
template <class Ty> void destroy(Ty* pointer) { destroy_one(pointer, std::is_trivially_destructible<Ty>{}); } 这样设计的好处主要体现在对泛型编程和内存管理的灵活性上。下面是一些可能的好处: ......
ArravList,LinkedList,Vector的相同点与区别
ArravList,LinkedList,Vector的特性 ArrayList:动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。 线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机访问速度快,插入和删除较慢一点 可以插入null元素,且可以重复 Vector和前面说的Ar ......
Java 中ArrayList,LinkedList,Vector集合的相同点与区别是什么?
ArrayList,LinkedList和Vector都继承自List接口。ArrayList和Vector的底层是动态数组,LinkedList的底层是双向链表. ArrayList,LinkedList,Vector的区别我们先来了解ArravListArrayList:的数据结构是数组特点:查 ......
关于 vector 的用法
考虑有些时候,我们便历 vector 中相邻的两个元素: for(int i = 0;i < S.size() - 1;i++) a[i],a[i + 1]... 当 \(S.size() = 0\),我们理所当然地认为 \(i = 0,i < -1\) 这样的限制不能运行。 但是问题出在 \(S. ......
一天吃透Java并发面试八股文
内容摘自我的学习网站:topjavaer.cn 分享50道Java并发高频面试题。 线程池 线程池:一个管理线程的池子。 为什么平时都是使用线程池创建线程,直接new一个线程不好吗? 嗯,手动创建线程有两个缺点 不受控风险 频繁创建开销大 为什么不受控? 系统资源有限,每个人针对不同业务都可以手动创 ......
CV八股汇集
https://blog.csdn.net/weixin_39994739/article/details/122864848 正则化 过拟合和欠拟合的区别?以及如何解决?解决办法有哪些? 过拟合(Overfitting)和欠拟合(Underfitting)是机器学习中两个常见的问题,它们分别描述了 ......
Rust std fs 比 Python 慢!真的吗!?
作者:Xuanwo Databend Labs 成员,数据库研发工程师 https://github.com/xuanwo 我即将分享一个冗长的故事,从 OpenDAL 的 op.read()开始,以一个意想不到的转折结束。这个过程对我来说非常有启发性,我希望你也能感受到。我会尽力重现这个经历,并附 ......
ArrayList、LinkedList、Vector三种Java集合框架的同义
ArrayList、LinkedList、Vector是Java集合框架中的三种数据结构,它们的相同点和不同点如下: 相同点: 都实现了List接口,可以存储有序的元素序列,可以允许重复元素的存在; 都支持随机访问(根据元素的索引访问元素),并且访问效率较高; 都支持添加、删除、修改等操作,可以动态 ......
比亚迪面试,全程八股!
比亚迪最近几年凭借着其新能源汽车的板块大火了一把,无论是名声还是股价都涨得嘎嘎猛,但是迪子招聘编程技术岗位的人员却有两个特点: 面试难度低,对学校有一定的要求。 薪资给的和面试难度一样低。 但不管怎么,迪子也算是国内知名公司了,所以今天咱们来看看,他的校招 Java 技术岗的面试题都问了哪些知识点? ......
Problem: C. Nearest vectors
题意简述: 给出一堆起点为原点的向量,找出两个向量夹角最小. 做法: 使用余弦公式和c++自带的反余弦函数,求出到每个向量到极轴的夹角,随后排序即可。 注意比较第一个向量和最后一个向量之间的夹角 点击查看代码 // Problem: C. Nearest vectors // Contest: Co ......
Vector
在Java中,Vector是一个非常重要的数据结构,它是一个动态数组,可以在运行时动态地增加或减少元素。Vector的基本操作 添加元素:使用add()方法可以将元素添加到Vector的末尾。此外,add(index, element)方法可以在指定的索引处添加元素。 Vector<Integer> ......
Java集合ArrayList,LinkedList,Vector的相同点与区别是什么?
✨前言✨ 本篇作为,java集合中 ArrayList,LinkedList,Vector常用集合的分析概括,已便大家认识这三种集合的区别,和特点 🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 @目录🍎一,特性列举🍎二 ......
C++标准库类std::packaged_task
std::packaged_task是C++11引入的标准库类,用于封装可调用对象,如函数等,并将封装对象作为异步任务进行管理,通过与std::future结合使用,完成异步任务结果的获取。 #include <iostream> #include <thread> #include <future ......
C++标准库类std::shared_future
std::shared_future是C++11的标准库类,其与std::future的不同是允许多个线程使用,多个线程可以同步共享,同时其又不会阻塞等待异步任务的完成。std::shared_future同样也提供get()方法用于获取异步执行的结果。 #include <iostream> #i ......
C++标准库函数std::async
1、std::async std::async是C++11的标准库函数,用于创建执行异步任务并返回std::future对象来获取异步执行的结果状态。该函数最简单的用法如下所示: #include <iostream> #include <thread> #include <future> std: ......