C++实现LeetCode(11.装最多水的容器)
[LeetCode] 11. Container With Most Water 装最多水的容器
Given n non-negative integers a1, a2, ..., an , where each represents...[2021/7/12]
C++实现LeetCode(8.字符串转为整数)
[LeetCode] 8. String to Integer (atoi) 字符串转为整数
Implement atoi which converts a string to an integer.
The function first discards as...[2021/7/12]
C++实现LeetCode(验证数字)
[LeetCode] Valid Number 验证数字
Validate if a given string can be interpreted as a decimal number.
Some examples:
"0" => true
" 0...[2021/7/12]
c++ Bellman-Ford算法的具体实现c++ Bellman-Ford算法的具体实现
Bellman-Ford算法用于解决有边数限制的最短路问题,且可以应对有负边权的图
其时间复杂度为O(nm),效率较低
代码实现:
#include<iostream>
#include<cstring>
#include<algorit...[2021/6/28]
C++重载运算符实现分数加减乘除C++重载运算符实现分数加减乘除
本文实例为大家分享了C++重载运算符实现分数加减乘除的具体代码,供大家参考,具体内容如下
实现结果如下图所示:
代码如下所示:
#include <iostream>
using namespace std;
cla Rational {
...[2021/6/28]
32.qt quick-模仿QQ登录界面实现3D旋转(Rotation、Flipable)
要想模仿QQ登录界面的3D旋转,我们需要学习Rotation和Flipable.由于没找到QQ的资源图,所以我们以两个图片为例模仿QQ的3D旋转,如下图所示:
最终效果如下所示:
1.Rotation介绍
Rotation类型提供了一种通过旋转类型转换旋...[2021/6/28]
C++容器汇编
容器汇编1 比较简单的若干容器
1. string begin 可以得到对象起始点 end 可以得到对象的结束点 empty 可以得到容器是否为空 size 可以得到容器的大小 swap 可以和另外一个容器交换其内容
2. vector 可以使用中括号的下标来访问其成员(同 string) ...[2021/6/28]
65.QT-UDP组播实现多人共享桌面(同时支持收发显示)
这里我们只是简单学习下通过udp组播如何共享桌面demo.帧率上面比较低,毕竟没有用推流,只是简单的将图片发送到组播地址,而加入组播地址的客户端去取数据显示而已.
主要是为了学习UDP知识而写的,真的想要做共享桌面的话,建议还是使用qt FFmpeg推流.速度上会快很多(后续有时间再...[2021/6/28]
Leetcode No.26 Remove Duplicates from Sorted Array(c++实现)
1. 题目
1.1 英文题目
Given an integer array nums sorted in non-decreasing order, remove the duplicates in-placein-place such that each unique element appe...[2021/6/28]
c++性能测试工具:google benchmark进阶(一)
这是c++性能测试工具教程的第四篇文章,从本篇开始我将逐步介绍一些性能测试的高级技巧。
前三篇教程可以看这里:
c++性能测试工具:google benchmark入门(一)
c++性能测试工具:google benchmark入门(二)
c++性能测试工具:计算算法的时间复杂度
本文将...[2021/6/28]
我的新书《C++服务器开发精髓》终于出版啦
一、千呼万唤始出来
亲爱的各位读者,我的新书《C++ 服务器开发精髓》终于终于终于与大家见面了,图书如下:
图书的封面设计很精美,当然内容一定不负众望。因出版社老师要求提供一张照片放到封面上,今年的 6 月 1 日儿童节去拍了一张,照片拍出来放在下面大家自己看吧。人到中年,生活不易,没有少...[2021/6/28]
Leetcode No.27 Remove Element(c++实现)
1. 题目
1.1 英文题目
Given an integer array nums and an integer val, remove all occurrences of val in nums in-place. The relative order of the elements ma...[2021/6/28]
Leetcode No.35 Search Insert Position(c++实现)
1. 题目
1.1 英文题目
Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where...[2021/6/28]
32.qt quick-PathView实现好看的home界面
pathView的使用类似与ListView,都需要模型(model)和代理(delegate),只不过pathView多了一个路径(path)属性,顾名思义路径就是item滑动的路径.
一个Path可以由下面多个Path段组成(之前讲解PathAnimation时提过):
Pa...[2021/6/28]
Acwing Arithmetic Learning:数据结构(2)
目录数据结构(2)acwing1.trie树2.并查集(近乎O(1))3.堆
数据结构(2)acwing
1.trie树
快速存储和查找字符串的集合
结构特征:
例题:Trie字符串统计 ?
2.并查集(近乎O(1))
思路
将两个集合合并
询问两个元素是否在一个集合中
...[2021/6/28]
Leetcode No.53 Maximum Subarray(c++实现)Leetcode No.53 Maximum Subarray(c++实现)
1. 题目
1.1 英文题目
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its s...[2021/6/28]
OSG编译安装-MSVC
OSG编译安装-MSVC
1、准备工作
1.1 环境
Windows10
Qt5.14.2
Microsoft Visual Studio2017
cmake-3.20.4-windows-x86_64.msi
1.2 osg下载
osg官网
...[2021/6/28]
C++中常量与指针的示例详解C++中常量与指针的示例详解
前言
和指针联用有佷微妙的地方,之前一直佷晕,现在来继续研究下。诸如以下:
int const;
const int;
const int* p;
int const* p;
int* const p;
const int* const p;
const 是一种...[2021/6/28]
错误C2137:c中的字符常量为空++
代码如下:
void SomeCla ::SomeFunctionToCorrectName(CString &strName)
{
Only alphabets (Aa-Zz), numbers(0-9), "_" (underscore) and "...[2021/6/21]
C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
1. 编译单元,一个.cc,或.cpp作为一个编译单元.生成.o
2. 普通数据类型的定义,声明,函数的定义声明(类函数是一样的)
extern int x; 变量是声明,并未实际分配地址,未产生实际目标代码
&...[2021/6/21]
C++追根究底(持续更新) - time-flies
目录头文件" " 与 <>的区别带 .h 和不带 .h 的区别带 c前缀 和不带 c前缀 的区别宏定义特殊符号:#,##,#@防止一个头文件被重复包含do-while 作用undef 的用法函数外部加括号参考资料
头文件
" " 与 <>的区别
<>先去系...[2021/6/21]
栈与队列(含单调栈与单调队列)
栈
算法思路
栈(\(stack\))又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把...[2021/6/21]
31.qt quick-使用SwipeView添加滑动视图-高仿微信V2版本31.qt quick-使用SwipeView添加滑动视图-高仿微信V2版本
在上章我们学习了ListView,然后实现了: 28.qt quick-ListView高仿微信好友列表和聊天列表,本章我们来学习SwipeView滑动视图,并出高仿微信V2版本:
1.Container介绍
由于SwipeView继承于Container,而...[2021/6/21]
C++使用智能指针实现模板形式的单例类
本文通过实例为大家分享了C++使用智能指针实现模板形式的单例类的具体代码,供大家参考,具体内容如下
实现一个模板形式的单例类,对于任意类型的类经过Singleton的处理之后,都能获取一个单例对象,并且可以传递任意参数
并且还使用了智能指针,把生成的单例对象托管给智能指针,从而实现自动回收...[2021/6/15]
C++实现单例模式的自动释放
单例模式是为了确保某个类只能创建一个对象而设计的。当一个程序的某个类型只允许有一个实例的时候使用。
一般采用动态分配的方式来生成单例对象,这个时候C++程序员就需要考虑内存回收的问题了,所以为了避免在使用单例模式时忘记回收资源而造成内存泄漏的问题,在实现单例模式的时候就使其可以自动被回收。
...[2021/6/15]
经典实验--电话号码薄
·一、目的和要求
设计一个利用文件处理方式实现电话号码薄的程序,具有增加数据、更新数据、查询数据、删除数据以及重组文件的功能,删除数据在记录中作删除标志,重组文件指在物理上删除作有删除标志的记录。
·二、系统分析
...[2021/6/15]
C++内存管理机制
C++中的内存管理
1. Linux中程序的内存地址分配
其中上面的地址为高位地址,下面的地址为低位地址。下面分别介绍各个内存区域的作用:
l 代码段:存放函数体的二进制代码;
l B 段:存放未初始化的...[2021/6/15]
基于SSL(TLS)的HTTPS网页下载——如何编写健壮的可靠的网页下载
源码下载地址 案例开发环境:VS2010 本案例未使用open l库,内部提供了 lite.dll库进行TLS会话,该库提供了ISSLSe ion接口用于建立SSL会话。下载的是网易(www.163.com)的主页。程序执行后会打印SSL会话的加密套件名称和Http响应头,并在C盘根目录下输出“...[2021/6/15]
C++学习笔记之进阶编程 - time-flies
目录进阶编程STL(Standard Template Library)容器(container)仿函数(functor)算法(algorithm)transform查找全排列迭代器(iterator)容器适配器(adapter)空间配置器(allocator)STL总结关于Boost库多线程线...[2021/6/15]
28.qt quick-ListView高仿微信好友列表和聊天列表
1.视图模型介绍
在Qml中、常见的View视图有:
ListView: 列表视图,视图中数据来自ListModel、XmlListModel或c++中继承自QAbstractItemModel或QAbstractListModel的自定义模型类
TableView: ...[2021/6/15]
题解-P3810
P3810 【模板】三维偏序(陌上花开)
更好的阅读体验1
更好的阅读体验2
前置算法
树状数组求逆序对
归并排序求逆序对
解题之前,让我们来看一看弱化版本 \(\to\) 二维偏序
题意
给定两个长度为数组 \(a_1,a_2,\dots,a_n\),\(b_1,b_2,\do...[2021/6/15]
C++数值类型与string、CString之间的转换 - time-flies
目录数值范围数值类型与string互相转换数值类型转换为string使用函数模板+ostringstream使用标准库函数std::to_string()string转换为数值类型使用函数模板+istringstream使用C++标准库函数CString与string间的互相转换CString与...[2021/6/15]
C++ RAII
今天学习了C++中的RAII机制,主要是应对内存泄露的情况,通过将内存的动态申请放置在构造函数中,将动态内存的释放放置在析构函数中实现。
(1)malloc出来的空间,没有进行释放,存在内存泄漏; (2)如果在malloc和free之间抛异常,那么同样存在内存泄漏问题。...[2021/6/15]
VS2019实现C++的第一个MFC程序
一、创建项目
然后点下一步,配置项目,这里我命名的是myfisrtmfc
点击创建按钮,然后弹出下面的对话框。
对上面的MFC应用程序进行配置,如下:
点击完成,生成如下界面。
第一次编译生成的默认项目,之后得到下面的界面
点击VS20...[2021/6/7]
接口类使用的一些准则
1. 接口类的定义
接口类是一种特殊的类,它只提供方法的声明,方法的定义在子类中完成;同时接口类无法被实例化。
2. 接口类的特征
最好不要有成员变量,但可以有静态常量,表示各种返回状态;
要有纯虚接口方法,让接口成为纯虚类,使之无法完成实例化;
要有虚析构函数,并...[2021/6/7]
详解C++编译器优化技术
前言
注1:vc6、vs没有提供编译选项来关闭该优化,无论是debug还是release都会进行RVO和复制省略优化
注2:vc6、vs2005以下及vs2005+ Debug上不支持NRVO优化,vs2005+ Release支持NRVO优化
注3:g++支持这三种优化,并且可通过编译...[2021/6/7]
详解C++右值引用详解C++右值引用
概述
在C++中,常量、变量或表达式一定是左值(lvalue)或右值(rvalue)。
左值:非临时的(具名的,可在多条语句中使用,可以被取地址)。可以出现在等号的左边或右边。可分为非常量左值和常量左值。
右值:临时的(不具名的,只在当前语句中有效,不能取地址)。只能出现在等号的右...[2021/6/7]
1638图形
咕了这么久……最近总算抽得出一点儿时间来写篇博客了。很久没更,都不太知道该发些什么了。想了好一会儿,终于决定,更一下我最近做过的一些比较难得题吧。(各位大佬们多多指教)
以下是正文:
描述
贝贝最近玩起了字符游戏,规则是这样的:读入四行字符串...[2021/6/7]
智能指针用法
“独占型”指针unique_ptr
unique_ptr 指针指向的堆内存无法同其它 unique_ptr 共享,每个 unique_ptr 指针都独自拥有对其所指堆内存空间的所有权,被定义在头文件<memory>中,并且使用std命名空间
构造unique_ptr
空构造
std...[2021/6/7]
做个地道的c++程序猿:copy and swap惯用法
如果你对外语感兴趣,那肯定听过“idiom”这个词。牛津词典对于它的解释叫惯用语,再精简一些可以叫“成语”。想要掌握一门语言,其中的“成语”是不能不学的,而希望成为地道的语言使用者,“idiom”则是必不可少的。程序语言其实和外语也很类似,两者都有自己的语法,一个个函数也就像一个个词汇,大部分的...[2021/6/7]
26.Qt Quick QML-RotationAnimation、PathAnimation、SmoothedAnimation、Behavior、PauseAnimation、SequentialAnimation和ParallelAnimation
1.RotationAnimation RotationAnimation也是继承于PropertyAnimation组件,但是它有点特殊,它只需要指定taget目标对象,并且不需要指定property,因为rotation就是要绑定的属性.并且它还多了个direction属性:
direct...[2021/6/7]
三种单例模式的实现(C++)
今天主要是学习了单例模式的三种实现,包括懒汉式、双重检查锁懒汉式和饿汉式。
首先,我们应该要理解单例模式的概念,单例模式简单的来说就是一个类只允许有一个对象,为此,我们可以知道必须要控制类的构造行为,故将构造函数私有化、同时将该类的对象
定义为该类的静态数据成员(因为构造函数被私有化...[2021/6/7]
27.Qt Quick QML-State、Transition
1.State 所有组件均具有默认状态,该状态定义对象和属性值的默认配置。可以通过向States属性添加State组件来定义新状态,以允许组件在不同配置之间切换. 许多用户界面设计都是由State状态实现的,比如: 交通信号将根据其State配置来实现红黄绿灯交错亮灭. 在QML中,状态是在St...[2021/6/7]
Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置
Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置
1、简介
本文主要是 Windows 下 MSYS2 环境配置和 MinGW-w64 C++编译环境配置方法
2、下载
首先需要下载msys2的安装文件
官网链接:https: www.msys2.org/
...[2021/5/31]
C++ 位图及位图的实现原理
概念
位图就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,该数据都是不重复的简单数据。通常是用来判断某个数据存不存在的
例如:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中
如果...[2021/5/31]
C++学习之移动语义与智能指针详解
移动语义
1.几个基本概念的理解
(1)可以取地址的是左值,不能取地址的就是右值,右值可能存在寄存器,也可能存在于栈上(短暂存在栈)上
(2)右值包括:临时对象、匿名对象、字面值常量
(3)const 左值引用可以绑定到左值与右值上面,称为万能引用。正因如此,也就无法区分传进来...[2021/5/31]
<c++控制台>用gotoxy()函数实现方向键进行选择
0.效果图
可以用方向键进行选择,看起来高级点而且可以防止乱输入。
1.引入:
这是我经常写的选择:
相信这应该也是很多人在控制台的时候会用的吧,
的确这个简单容易写。
但!是!
人要有理想,控制台也是
&n...[2021/5/31]
c++11-模板元实战
前言
黑魔法,应用场景 :
1.实现宿生语言
2.压榨机器性能 : 表达式模板,循环展开...特别是在高性能计算领域...可以获得媲美手工展开的高效代码
3.作为实现各种库的基本组件 :Stl,Boost,标准库都大量运用了模板元技术
很多人比较排斥这个东西...一些炫技模板元代码能看得...[2021/5/31]
基础知识:DFRduino UNO R3最全资料详解
一、概述篇: 1. 什么是DFRduino UNO R3? DFRduino UNO R3是一块基与开放原始代码的Simple i/o平台,並且具有使用类似java,C语言的开发环境。让您可以快速使用Arduino语言与Flash或Proce ing…等软件,作出互动作品。Arduino可以使用...[2021/5/31]
qt中出现error: C2059: 语法错误:“namespace”未定义等大量错误的问题
昨天下载了一个github上的qt工程,拿回来一编译出现了N多错误,但是工程明明是正确的,没有什么特殊的配置设置,
但是就是几乎所有的代码都在报错。
可以看到关于类的操作都有问题
..\qtproce \mainwindow.cpp: warning C4819: 该文件包含不能在当前代码...[2021/5/31]