模板智能数组指针 1.管理任意类型的数组指针 2.释放的时候自动删除数组指针指向的内存 //模板智能数组指针 template<typename T> class AiArrayPtr { public: AiArrayPtr(T *pArray) { m_pAiPtr = pArray; m_bI ...
这几天学习智能指针时,自己在练习写个管理数组指针的类时碰到了通过数组指针获取数组个数的问题 1.在网上查询了通过数组指针获取数组个数的方法,对于自定义数据在前四个节点保存了数组个数 Student* pAry = new Student[3]; size_t num = *((size_t*)pAr ...
使用Qt Creator调用opencv 本案例使用Visual Studio 2015+Opencv4.6.0+Qt Creator 5.9.1 一、构建套件 在构建套件之前,需正确安装Visual Studio、Opencv和WindowsSDK,可参考博客1、博客2 当正确安装后,一般情况下, ...
本文介绍在C++语言中,使用一个函数,并返回两个及以上、同类型或不同类型的返回值的具体方法。 对于C++语言而言,其不能像Python等语言一样在一个函数中返回多个返回值;但是我们也会经常遇到需要返回两个甚至更多个值的需求。针对这种情况,我们可以通过pair、tuple(元组)等数据结构,实现C++ ...
ARP (Address Resolution Protocol,地址解析协议),是一种用于将 `IP` 地址转换为物理地址(`MAC地址`)的协议。它在 `TCP/IP` 协议栈中处于链路层,为了在局域网中能够正确传输数据包而设计,由协议数据单元和对应的操作命令组成。`ARP` 既可以由操作系统处... ...
端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的`TCP/IP`端口。具体来说,端口扫描程序将从指定的起始端口开始,向目标主机发送一条`TCP`或`UDP`消息(这取决于端口的协议类型)。如果目... ...
Ping 使用 `Internet` 控制消息协议(`ICMP`)来测试主机之间的连接。当用户发送一个 `ping` 请求时,则对应的发送一个 `ICMP Echo` 请求消息到目标主机,并等待目标主机回复一个 `ICMP Echo` 回应消息。如果目标主机接收到请求并且网络连接正常,则会返回一个回... ...
在之前的代码中我们并没有对套接字进行加密,在未加密状态下我们所有的通信内容都是明文传输的,这种方式在学习时可以使用但在真正的开发环境中必须要对数据包进行加密,此处笔者将演示一种基于时间的加密方法,该加密方法的优势是数据包每次发送均不一致,但数据包内的内容是一致的,当抓包后会发现每次传输的数据包密文是... ...
IOI2018 werewolf 狼人 题解 题目描述 省流: \(n\) 个点,\(m\) 条边,\(q\) 次询问,对于每一次询问,给定一个起点 \(S\) 和终点 \(T\) ,能否找到一条路径,前半程不能走 \(0\thicksim L-1\) 这些点,后半程不能走 \(R+1\thicks ...
$ {\scr \color {Orchid}{\text{生于尘埃,溺于人海,死于理想高台。}}} $ 题目链接:Colorful Slimes $ {\scr \color {Cyan}{\text{Solution}}} $ 分析 思路:挺神奇的$dp$ 一个比较显然的结论:最小值的方案中第$ ...
比赛:Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) A-same 1.常规方法 int main() { int n; cin >> n; vector<int> s(n) ...
正文 直接说答案,这个问题无法实现。原因是因为std::vector容器的插入一定会调用类对象的构造函数或者移动构造函数。 说一下为什么会有这个问题,因为不想用指针,我想直接通过类对象本身的RAII机制来实现的资源的控制,智能指针是一个解决方案,不过智能指针是写起来很繁琐,终究比不上值类型方便。不过 ...
草船借箭 题目: 题目描述: 程序员小周同学这几天在看《三国演义》。今天他看到了“草船借箭”这一回,在钦佩诸葛亮巧借东风向曹操“借"箭的同 时,小周想到这么一个问题: 如果诸葛亮一共派出了N条放置草人的船来“借"箭。“悚慨”的曹操向第1条草船上射了A支 箭、第2条草船上射了B支箭,第3条草船上射的箭 ...
通过本文可以收获:google gtest急速入门、google gtest资源网站。 google gtest是什么 google gtest是谷歌开源的c++单元测试框架,非常的好用。 起码个人感觉和spring boot自带的测试框架功能差不太多。 安装 略过,请参考:GitHub - goo ...
string类构造函数与析构函数 构造函数 构造函数 作用 string s 构造一个空字符串 string s(s1) 生成一个和s1相同的空字符串s string s(s1,5) 将s1[5]以后的部分作为s的初始部分 string s(s1,5,5) 将始于s1[5],长度为5的部分作为s的初 ...
栈stack(包含头文件stack) 首先说说什么是栈,栈就像是一个罐子,然后你的数据就是零食,你把零食放入罐子里,那么零食肯定先放入罐子底部,然后后面的零食再放入第二层。那么取零食的时候类似,必须先把上面的零食先拿出来,才能拿出来下面的零食。 栈的准确定义:栈(Stack)是只允许在一端进行插入或 ...
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start': (.text+0x24): undefined reference to `main' coll ...
for遍历 一:常规方式 1.遍历数组 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(int i = 0;i<10;i++) { cout<<arr[i]; } 3.遍历容器类(迭代器) vector<int> s = {0,1,2,3,4,5,6,7,8,9} ...
math库常用函数+产生随机数总结 1.对x开平方 double sqrt(x);//返回值为double类型,输入的x类型随意,只要是数的类型 2.求常数e的x次方 double exp(x);//返回值为double类型,输入的x类型随意,只要是数的类型 3.求x的y次方 double pow( ...
递归函数 含义介绍: 递归函数,实际上就是将一个自定义的函数在运行过程中反复调用他自己,直到遇到结束条件就停止 案例一:求阶乘 int len(int n) { if(n == 1) { return 1;//如果阶乘运算到最后一位(即1),就结束循环 } int sum = n*len(n-1); ...