
日常心得
文章平均质量分 65
我叫RT
无它,唯手熟耳。
心之所向,莫向外求。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
windwos脚本 | 基于scrcpy,只投声音、只投画面
【代码】windwos脚本 | 基于scrcpy,只投声音、只投画面。原创 2025-04-18 22:02:00 · 475 阅读 · 0 评论 -
Windows BAT脚本 | 定时关机程序
【代码】Windows BAT脚本 | 定时关机程序。原创 2024-01-06 04:14:26 · 12040 阅读 · 0 评论 -
关于 python json操作常用函数(字典-字符串-json)loads()、load()、dumps()、dump()
一览:从列格式转换至对应的行格式所需方法: 原格式in \ 转换后outjson字符串dictjson文件 json字符串 / out=json.loads(in) 文件函数:f.write...等 dict out=json.dumps(in) / out=json.dump(in) json文件 文件函数:f.re原创 2022-04-21 18:46:09 · 1643 阅读 · 0 评论 -
C/C++/Linux「学习必备」珍藏多年的学习网站分享 | 工欲善其事必先利其器
这里分享的是C/C++学习阶段所需网站,经博主自用使用频率较高的几个网站。废话不多说,直接看正文。----上述网站都是在我学习和工作中积累而来,不论是学习还是工作,找到一个趁手的网站真的能事半功倍。当然以上分享的内容大都围绕我们学习而言,可以让我们少走很多弯路。当然优秀的网站还有很多,这里我只分享了一些可能对大家有帮助的,并且是平时比较常用的一些网站。原创 2022-04-20 19:05:22 · 4771 阅读 · 0 评论 -
未定义的行为 a = a++; 的结果是什么?
起因:代码:#include <iostream>using namespace std;int main(){ int a = 0; a = a++; cout << a << endl; return 0;}通过minGW算得结果,是原a的值(尝试了几个不同的优化等级)有关gcc优化等级:https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optim原创 2022-04-06 20:11:33 · 1012 阅读 · 0 评论 -
关于C语言遍历中英文字符串时的输出问题
问题:https://ask.youkuaiyun.com/questions/7560143?answer=53582941解答:普通汉字一个字符占两个字节,字母占一个字节。 你在变换的时候,本来是两个字节表示的汉字,给拆开了。 显示的就是乱码这里提供一种解决思路,判断当前是否为中文,如果是中文,那么接下来的两个字节视为一个整体。代码参考如下:void func(const char* str){ int len = strlen(str); for (int i = 0; i <原创 2022-04-03 14:38:18 · 1004 阅读 · 0 评论 -
关于python内模块math、使用 C 或 C++ 扩展 Python
起因:https://ask.youkuaiyun.com/questions/7680299回答根据math的帮助字符转提示,猜测python的math函数应该是调用的C函数库。使用ide的话,点击函数跳转到math中,会发现在 math.pyi 文件中,pow函数只定义了函数头,没有具体实现(以下截图通过vs code打开)。而结合 math.doc 的提示,我们可以猜测math中的函数调用自C库。https://github.com/python/cpython/blob/3.10/Doc/libr原创 2022-04-02 23:15:46 · 1917 阅读 · 0 评论 -
【转载】gcc.gnu.org:内置函数执行溢出检查算法
转载:https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html下面的内置函数可以执行简单的算术运算,并检查运算是否溢出。内置函数:bool __builtin_add_overflow( type1 a, type2 b, type3 * res)内置函数:bool __builtin_sadd_overflow(int a,int b,int * res)内置函数:bool __builtin_saddl_overflo.转载 2022-03-22 17:35:43 · 4039 阅读 · 0 评论 -
python 关键字:nonlocal 与 global
nonlocal 意为:非局部的。主要用于在函数内部定义函数时,内层函数使用外层函数的变量。(函数的函数——闭包,类比C++匿名函数的捕获列表)。示例:from typing import Listdef func(nums: List[int], val:int): def add(): nonlocal nums # 引用外层变量 nums nums = [i+val for i in nums] add()原创 2022-03-15 03:18:04 · 1377 阅读 · 0 评论 -
python 列表生成式、生成器、generator对象
列表生成式可以使用列表生成式生成 列表元素。例如:列表还支持 if … else 与 for 循环组合的单行表达式进行初始化。>>> example = [i*i if i%2 == 0 else 2*i for i in range(1,11)] # 1~10中,奇数*2,偶数平方>>> print ([i for i in range(1,11)]) # 对照组,1~10[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>&g原创 2022-03-14 02:17:03 · 1490 阅读 · 0 评论 -
python 快速生成全0列表
lst1 = [0] * 10lst1 = [0 for _ in range(10)]lst3 = list(map(lambda x: 0, range(10)))解析:lst3 = list(map(lambda x: 0, range(10)))定义函数 lambda x: 0。接收参数x,返回 0.map(function, iterable, …) ,map将序列中的参数,一次传入function中调用返回迭代器使用list() 接收迭代器,将其装换为 list...原创 2022-03-06 03:20:13 · 18523 阅读 · 0 评论 -
java打包/解压,编译/反编译
javac xxx.java 打包成 xxx.class 文件。jad 反编译成 xxx.java 文件教程:https://blog.youkuaiyun.com/qq_26383975/article/details/113103932下载:http://java-decompiler.github.io/jar :https://zq99299.github.io/java-tutorial/deployment/jar/unpack.html创建 Jar 文件创建 JAR 文件的基本格式是:j原创 2022-03-05 17:36:29 · 543 阅读 · 0 评论 -
C/C++ 下标运算符subscript、后缀表达式、正负下标
提问:如果我们要获得a数组的第二个元素,请问一下那种方式可以达到要求。int a[] = { 1,2,3,4,5,6 };cout << a[1] << endl;cout << *(a+1) << endl;cout << 1[a] << endl;cout << (1)[a] << endl;答案是都可以。首先,ar[i]和*(ar+1)这两个表达式都是等价的,这里就不再多说了,而1[a] 与原创 2022-03-04 02:06:46 · 3807 阅读 · 0 评论 -
idea 快捷键 与 常用设置 与 插件
自动导入包: alt + enter自动补全变量名称 : Ctrl + Alt + v将光标放置在代码的最右侧, 快捷键 ctrl+alt+v 就会补全左侧代码基本代码补全: Ctrl+Space 或补全可见范围内的类,方法,字段和关键字。当您调用代码补全功能时,IntelliJ IDEA会分析上下文并提供可用的建议列表(建议中还将包括 Live templates)。自动生成类成员函数 alt+insert 或(fn+alt+insert )语句补全 ctrl + shif原创 2022-02-26 00:44:30 · 1082 阅读 · 0 评论 -
redis.conf配置与redis远程登录
redis重启:redis-server /etc/redis.confredis.conf 配置远程访问相关参考:https://blog.youkuaiyun.com/weixin_42518709/article/details/113538443protected-mode yes 开启保护模式(默认开启)如果开启了保护模式,并且bind未配置,密码也未设置。redis只接受来自本机的连接。对于bind,不少人都误解了。以为这个设置是只对客户端IP的连接限制,其实这是错误的!bind是你服务器的原创 2022-02-28 23:12:01 · 857 阅读 · 0 评论 -
Mariadb 设置远程访问
添加远程访问账户这里参考自:https://www.jianshu.com/p/b89c275cf3cbMariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';第一个位置,为数据库, 第二个位置,为表,所以 *.*,表示可以访问任意数据的任意表'root'@'%', root表示远端登录使用的用户名,%表示允许任意ip登录,可将指定ip替换掉%, root与%可以自定义IDENT.转载 2022-02-28 22:30:11 · 20544 阅读 · 0 评论 -
关于shell输出重定向,tee的使用,以及time无法被重定向的问题
关于重定向的使用使用重定位符可以将命令的输出结果保存到文件>> 进入追加模式。如果命令执行错误,可以使用 2>&1 将命令的输出和错误保存到同一个文件中。tee 命令可以将执行结果显示在屏幕的同时,将结果写进文件。tee 命令 -a 选项进入附加模式 command | tee -a file.txt==注意:管道 和 重定向无法同时使用。(管道符的" | "的作用只是把前一个程序的标准输出流(stdout)的数据 作为后一个程序 的标准输入流stdi原创 2022-02-23 23:18:25 · 2613 阅读 · 0 评论 -
程序员可以有多浪漫,盘点那些像诗一样美的代码(C语言版)
确认过眼神,是个带诗人[陌生,爱) ==> 始于陌生,爱无止境[ 陌生, 爱) \ \ \ \ \ \ \ \ \ \ \ ==> \ \ \ \ \ \ \ \ \ \ 始于陌生,爱无止境[陌生,爱)  原创 2022-01-17 19:43:56 · 20960 阅读 · 9 评论 -
有了 IP 地址,为什么还要用 MAC 地址?
我认为,IP地址和MAC地址可以类比生活中寄快递的过程。在整个网络中数据被封装成数据报文进行发送,就像我们生活中寄快递时将物品放进包裹中。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接。IP地址ip地址等价于快递包裹上的收件人地址。快递员通过收件人地址将包裹在出发地到目的地之间连出一条线,然后通过不同地区之间的物流中转最后将包裹送到收件人的手中。从上图的粗箭头所描述的路径便可达到目的地址,陕西省-西安市-xx县-xx街道-…。同理,ip地址也具备此功能,通过IP地址的网络位原创 2022-01-11 21:03:06 · 31276 阅读 · 23 评论 -
虚拟机系统开机失败,挂载到其他虚拟机恢复重要文件。
提示:虚拟机在执行重要操作之前一定要记得备份快照啊。问题引发:在一次虚拟机操作中,选择了关机,然后重新打开的时候就卡在系统logo界面了。然后找了很多方法都没搞定。最后把数据文件备份了一下,重装了系统。文章目录网上的解决方案(失败)挂载虚拟机磁盘,备份文件(成功)尝试通过挂载磁盘的方式修改虚拟机文件,尝试启动(失败)下面是卡在logo界面的样子按esc查看网上的解决方案(失败)按照这个帖子操作了几遍还是无法解决。https://blog.youkuaiyun.com/HuaCode/article原创 2021-12-14 16:11:25 · 2230 阅读 · 0 评论 -
文件传输 | scp、nc
win 使用(Windows <=> Linux)参考资料:https://blog.youkuaiyun.com/u011217649/article/details/52965347原创 2020-07-07 15:34:24 · 316 阅读 · 0 评论 -
快排——一次划分
/* 最接近点对 */int OnePartition(int* ar, int left, int right){ int mid = left; // 基准 while (left < right) { while (left < right) { if (ar[right] >= ar[mid]) right--; else { swap(ar[right], ar[left++]); break; } } while (lef原创 2021-01-29 18:41:21 · 553 阅读 · 0 评论 -
简单仿写共享性智能指针——《shared_ptr》
std::shared_ptr 是通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可占有同一对象。具体参考 《std::shared_ptr》#include <iostream>#include <atomic>// 仿写shared_ptrnamespace TR { // 引用计数类 template<typename T> class RefCnt { private: T* mPtr; // 指向对象的指针 st原创 2021-01-31 23:26:29 · 168 阅读 · 0 评论 -
epoll源码剖析
epoll_create 创建内核事件表epoll_ctl 向内核事件表中添加、修改事件…epoll_wait 获得就绪事件select / poll每次循环都需要将所有文件描述符拷贝到内核空间内核采用轮询的方式。 O(n)为了得到返回的结果中哪一个文件描述符就绪,我们还需要遍历所有的描述符。O(n)缺点:当描述符过多时,每次从用户态向内核态拷贝消耗过大,轮询的方式效率过低。epoll:在内核空间创建内核事件表,每个描述符只需要添加一次通过在内核中注册回调函数进行消息的通知。O(原创 2021-04-18 23:51:34 · 194 阅读 · 0 评论 -
智能指针——unique_ptr、shared_ptr、weak_ptr、make_shared()
智能指针删除器,利用类模板特例化C++11 unique_ptr智能指针详解1.独占性,唯一性智能指针 unique_ptr多对象使用// 单个对象auto_ptr<Obj> pa(new Obj(10));// 多个对象unique_ptr<Obj[]> up_obji(new Obj[3]);// 模板参数列表传入,删除器(函数对象,即仿函数)unique_ptr<Obj, default_delete<Obj[]>> up_obja(原创 2021-02-01 12:57:10 · 230 阅读 · 0 评论 -
dup函数, 文件描述符重定向
dup2(old,new)1.先关闭new所在的文件描述符,如果new==old就不关闭了。2.new指向old。诶上图所示 1–> file (dup2(3,1))copt_fd = dup(old) 复制文件描述符,如上图 4–> file (dup(3))原创 2021-03-17 19:33:07 · 182 阅读 · 0 评论 -
一道笔试题 : 关于虚函数及动多态
#include <iostream>using namespace std;class A{public: void virtual f(){ cout << "A" << endl;}};class B : public A{public: void virtual f(){ cout << "B" << endl;}}; int main() { A* pa = new A(); pa->f();原创 2021-03-20 00:20:43 · 153 阅读 · 0 评论 -
线索二叉树
1个结点存在2个空指针域,2个结点存在3个指针域,3个结点存在4个指针域,… , n个结点存在n+1个指针域。将空孩子域分别指向其前驱和后继,充分的利用起每个叶子结点,就可以将二叉树线索化,使其变成一个双向链表。实现原理标记是否是叶子结点,叶子结点的左右孩子域指向前驱与后继,普通的结点的左右孩子域指向左右孩子结点。二叉树的线索存储结构定义代码如下;/*树的双亲表示法结点结构定义*/#define MAX TREE_SIZE 100typedef int TElemType; .原创 2021-03-27 14:39:51 · 142 阅读 · 0 评论 -
【转载】数据库 | mysql 查询
MySQL中的表连接(外连接、内连接、交叉连接、自连接)数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。...原创 2021-03-27 15:30:36 · 172 阅读 · 0 评论 -
优先级队列与堆 | priority_queue 、 make_heap
priority_queue 、 make_heap 默认都是递减的方式 ,less<T>调整堆的大小的。<queue>priority_queuehttps://zh.cppreference.com/w/cpp/container/priority_queue注意:优先级队列默认是先出大的元素,也就是 less ,使出现递减序列。int main(){ vector<int> arr = { 3,2,1,9,8,7,4,5,6 };创建优先原创 2021-03-29 00:32:41 · 266 阅读 · 0 评论 -
判断两链表的相交节点
输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。思路一:将其中一个链表的所有节点存入哈希表中。遍历另一个链表的时候查看当前节点是否已出现在哈希表中。思路二:先求出两个链表的长度,使其从相同位置开始出发,同时遍历两个节点。如上图A从a1出发,B从b2出发。思路三:双指针法,p1遍历A,p2遍历B,谁先结束谁就又从另一个链表的头部开始遍历,直到相遇(类似快慢指针)https://leetcode-cn.com/problems/liang-ge-lian-biao原创 2021-03-29 17:23:11 · 164 阅读 · 0 评论 -
C/C++常用头文件及函数汇总【转】
C/C++头文件一览C#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h> //对应各种运算符的宏#include <limits.h> //定义各种数据类型最值的常量#inclu原创 2021-02-03 17:39:15 · 1661 阅读 · 0 评论 -
C++纯虚函数 | 接口 | 模板特例化 | 智能指针的意义
虚析构:如果main中使用 父类 = new 子类 的方式,需要把父类的析构函数设置为虚析构。纯虚函数:函数定义后有 = 0 的函数,有纯虚函数的类为抽象类。注:如果子类继承抽象类,不实现纯虚方法,子类任然为抽象类。(c语言中,void为抽象类,不能定义对象,可以定义指针或其他类型的引用)。纯虚函数与虚函数接口:方法的集合。所有方法都是纯虚函数。抽象类可以继承接口类,不必实现所有的接口,因为此抽象类无需实例化。(注:抽象类一般把构造方法设置为保护状态,禁止实例化,同时子类可传递参数初始化成员变量原创 2021-02-06 00:22:02 · 450 阅读 · 0 评论 -
关于 shared_ptr 创建不可删除对象(私有析构函数)的指针时,只能调用移动函数 | C2664...(std::shared_ptr<A> &&)...“std::nullptr_t”
正常情况下,基类指针指向派生类对象时,使用智能指针。class A{public: virtual ~A() { std::cout << "destructed: ~A() " << std::endl; }};class B :public A{public: ~B() { std::cout << "destructed: ~B() " << std::endl; }};int main(){ std::unique_ptr&原创 2021-02-08 17:35:17 · 384 阅读 · 0 评论 -
关于虚表指针与构造函数、析构函数
class Base{public: Base() {fun(); } ~Base() {fun(); } virtual void fun() { cout << "Base::fun()" << endl; }};class Derive :public Base{public: Derive() { fun(); } ~Derive() { fun(); } virtual void fun() override { cout << "Der原创 2021-02-15 15:09:58 · 384 阅读 · 0 评论 -
cJSON 及 c文件操作
介绍 JSON:https://www.json.org/json-zh.htmlcJSON Github:https://github.com/DaveGamble/cJSON原创 2021-03-05 10:38:55 · 762 阅读 · 0 评论 -
虚函数 与 函数指针调用成员函数并传参
普通函数跟着对象走、虚函数跟着类走1. 普通的继承#include <iostream>using namespace std;class A{public: void say() { cout <<"Class A"<< endl; }};class B : public A{public : void say() {原创 2021-03-12 00:56:07 · 301 阅读 · 0 评论 -
堆排序原理及实现
heapify操作,递归的将root结点的值与左右孩子的值进行交换,使得当前根节点值最大。#include <stdio.h>void swap(int *a, int *b){ if(NULL != a && NULL != b) { int temp = *a; *a = *b; *b = temp; }}void he原创 2021-03-11 20:16:08 · 425 阅读 · 0 评论 -
常用ascii码图解
二进制十进制十六进制字符/缩写解释00000000000NUL (NULL)00001010100ALF/NL(Line Feed/New Line)换行键00001101130DCR (Carriage Return)回车键00100000320x20(Space)空格00110000480x300数字010000006440@011000009660`011111111277...原创 2021-03-25 01:02:31 · 503 阅读 · 0 评论 -
c/c++ 宏定义
#include <cstdio>void foo(bool x){ std::puts("bool");}void foo(int x){ std::puts("int");}int main(){ foo(1 == 1); // true foo(1); // int return 0;}可能会造成递归的循环替换现象的宏定义将不会被执行含有歧义的宏定义,被覆盖c语言中使用 bool https://stackoverflow.com/q.原创 2021-03-25 15:45:13 · 107 阅读 · 0 评论