C++
文章平均质量分 60
hansy2015
这个作者很懒,什么都没留下…
展开
-
C++11 线程库的使用
thread库 thread只是类库,thread对象可以与实际运行的线程产生联系,利用Thread对象对线程进行操作,但是实际线程的存亡与thread对象的存亡并无绝对的决定关联 初始化构造函数:传入一个函数和它对应参数 move构造函数:thread(thread&& x) noexcept,x所代表的线程的任务被交给thread对象 join():操作是在thread t(func)后“某个地方”调用,其作用就是回收对应创建的线程的资源,避免造成资源的泄露 deta.原创 2021-08-04 14:52:53 · 251 阅读 · 0 评论 -
LeetCode5749. 邻位交换的最小次数(求原串到目标串通过交换相邻两个字符的最小交换次数)
题目描述:给你一个表示大整数的字符串 num ,和一个整数 k 。如果某个整数是 num 中各位数字的一个 排列 且它的 值大于 num ,则称这个整数为 妙数 。可能存在很多妙数,但是只需要关注 值最小 的那些。例如,num = "5489355142" :第 1 个最小妙数是 "5489355214"第 2 个最小妙数是 "5489355241"第 3 个最小妙数是 "5489355412"第 4 个最小妙数是 "5489355421"返回要得到第 k 个 最小妙数 需要对 num原创 2021-05-02 14:36:10 · 1632 阅读 · 0 评论 -
魔法权值(字符串排列+最小循环节)
[编程题]魔法权值时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M给出 n 个字符串,对于每个 n 个排列 p,按排列给出的顺序(p[0] , p[1] … p[n-1])依次连接这 n 个字符串都能得到一个长度为这些字符串长度之和的字符串。所以按照这个方法一共可以生成 n! 个字符串。一个字符串的权值等于把这个字符串循环左移 i 次后得到的字符串仍和原字符串全等的数量,i 的取值为 [1 , 字符串长度]。求这些字符串最后生成的 n! 个字符串中权值为原创 2021-03-12 19:51:31 · 387 阅读 · 0 评论 -
redis命令简介和hiredis的使用
1.数据库的类型 关系型数据库 操作数据库必须使用SQL语句 数据存储再磁盘上 非关系型数据库 操作数据库不使用SQL语句 数据默认存储在内存 关系型数据库和非关系型数据的联合使用 RDBMS:关系型数据库管理系统 所用数据默认存储在关系数据库里 客户端访问数据库,有一些数据需要频繁的查数据库 服务器首先将数据从关系型数据中读出来->第一次 再将数据写到redis里面 客户端第二次访问数据库时,直接从redis读原创 2020-12-02 20:12:31 · 600 阅读 · 0 评论 -
Qt实现简单的两人udp聊天程序
1.设计一个简单的界面如下图所示<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>Widget</class> <widget class="QWidget" name="Widget"> <property name="geometry"> <rect> <x>0</x> &l原创 2020-05-30 17:06:25 · 977 阅读 · 0 评论 -
C++学习笔记5:C++类相关1
1.类的构造函数构造函数的概念:在类中一种的一种特殊的成员函数,他的名字和类的名字相同,在类创建对象的时候系统会自动调用,构造函数起初始化成员变量的作用,构造函数没有返回值,不能手动调用构造函数,正常情况下构造函数要声明为public。其中一个类可以有多个构造函数,就可以为对象提供多个初始化方法 拷贝构造函数:默认情况下类对象的拷贝是每个成员变量逐个拷贝,如果一个类的构造函数的第一个参数是所属类型的引用。如果还有其他额外的参数,且这些参数还有默认值,则这个函数称为拷贝构造函数2.explicit原创 2020-09-05 14:56:36 · 96 阅读 · 0 评论 -
C++学习笔记4:杂谈
1.函数的前置返回类型和后置返回类型函数的前置返回类型就是把函数的返回类型放在函数名的前面例如:void fun(int a, int b, int) {} 函数的后置返回类型就是在函数前面放auto 而把返回类型放在函数后面 例如:auto fun(int a, int b, int c)-> void {}2.内联函数在函数定义前面加一个inline,适用于函数体小,调用却很频繁,在使用内联函数需注意以下几点系统会在编译阶段对内联函数进行处理,系统尝试将调用该函数的动作替换为函数本体原创 2020-08-29 19:15:02 · 118 阅读 · 0 评论 -
C++学习笔记3:C++动态内存分配和nullptr简介
C++一般将内存分为5个区:栈:一般函数内的局部变量都会放在这里,由编译器自动分配和释放 堆:程序员用malloc/new 向操作系统申请的内存都放在这类,用free/delete释放 全局、静态存储区:放全局变量和静态变量的地方 常量区:放常量的地方 程序代码区:放我们运行的代码的地方由于栈空间中的变量的内存是由系统自动分配的所以分配的速度会很快,但栈空间有限。而在堆中的变量的内存是由程序员主动向操作系统申请的所以分配速度比较慢,但是只要不超过实际拥有的物理内存且操作系统允许的情况下堆空间可原创 2020-08-24 09:26:50 · 436 阅读 · 0 评论 -
C++学习笔记2:命名空间
命名空间:(1)命名空间就是为了防止名字冲突而引入的一种机制。系统我们可以定义多个命名空间,每个命名空间都可以有自己的名字,但不可以同名,可以把命名空间理解成一个作用域。namespace zhangsan { // 定义一个命名空间 void radius() { std::cout << "zhangsan" << "\n"; }}namespace lishi { void radius() { std::cout <<原创 2020-08-22 10:14:23 · 266 阅读 · 0 评论 -
C++学习笔记1:过程式、基于对象式、面向对象式 程序设计的区别
面向过程的程序设计:典型应用就是C语言,采用的是自顶向下、逐步求精、按照顺序一步一步把问题解决。基于对象的程序设计:我们把这种功能包在类里,需要的时候通过定义对象的方式来调用程序。这就叫基于对象的程序设计。例如:我们定义一个打工仔类struct dagongzai { void qichuang(); // 起床 void chuanyifu();// 穿衣服 void shuaya(); // 刷牙 void chizaofan();// 吃原创 2020-08-21 23:28:05 · 356 阅读 · 0 评论 -
C++ bitset 用法
1.构造函数bitset 有3种常用的构造函数bitset<4> bitset1; // 无参构造,长度为4,默认为0bitset<8> bitset2(12); // 长度为8,以二进制的形式将12进行保存,前面用0补充string s = "100101";bitset<10> bitset3(s); // 长度为10前面用0补充,用字符串构造时字符串种只能包含0或1cout << bitset1 << endl;cou原创 2020-08-12 21:45:32 · 280 阅读 · 0 评论