自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(244)
  • 收藏
  • 关注

原创 python读取xml列数据绘制3D散点图

确保你的Excel文件中有至少三列数据,分别用于X、Y、Z坐标,并且Z坐标对应的是点的大小。如果需要其他的图表功能,请根据需要调整代码。在Python中,要读取Excel文件并创建3D散点图,你可以使用。库来创建3D散点图。python 读取excel 3d散点图。提示:AI自动生成,仅供参考。库来读取数据,然后使用。

2024-05-29 17:02:27 419

原创 VS2019调试C++调用堆栈窗口行号正确但函数名显示错误的可能原因

2、我遇到的情景是两个方法A和B的代码一摸一样,只是方法名不一样,.h中A先声明,B后声明,.cpp中B实现写在前面,A实现写在后面。调试时调用的是B,堆栈窗口会显示为A且断点也在A的实现里,但堆栈窗口中行号还是所调用的B方法所在的行号。这应该是编译器优化了相同代码的方法只保留.h中第一个声明的A,调试时堆栈窗口和行号虽然显示实际调用的方法B,但断点却显示在方法A中;1、确保exe|dll|lib是最新编译的;

2024-04-19 20:06:58 146

原创 std::decay结合cppreference理解

【代码】std::decay结合cppreference理解。

2024-03-27 13:54:05 139

原创 为什么 inline 函数经常使用 static 修饰

头文件里声明了inline的函数,编译期不一定将其内联展开,而仍将其编译为函数对象,如果不加 static 文件作用域修饰,当多个 cpp 文件都#include 该inline函数时,会在多个 cpp 文件内都定义函数对象,从而链接时报重定义错误。加上 static,即使在多个 cpp 文件内都定义该函数对象,也都是限定文件作用域的,不会产生重定义;

2023-12-14 14:15:41 568

原创 字节对齐,微软文档

https://learn.microsoft.com/zh-cn/cpp/cpp/alignment-cpp-declarations?view=msvc-170align (C++) | Microsoft Learn

2023-12-04 17:01:14 447

原创 编译器优化代码研究

定义friend MyInt operator*(const MyInt& lhs,const MyInt& rhs)* 编译器优化后:operator*()函数内直接在调用接收处构造(此处的匿名临时对象),* 结论:对自定义类型对象表达式objA*objB = objC;* 然后为该匿名临时对象调用operator=()方法。

2023-11-21 22:12:44 172

原创 自定义类型转换函数operator MyInt()

当对实参调用类型转换函数(返回形参类型),编译器会优化代码使类型转换函数返回值直接构造在调用作用域的接受对象上。* 结论:对pass-by-value传参的常规调用,会用实参拷贝构造形参,实参与形参相互无影响;

2023-11-20 19:14:28 277

原创 cpu 支持内存带宽与内存最大长度的关系《鸟哥的 Linux 私房菜》

同理,64 位 cpu 一次接受内存传递的 64bit 数据,内存字节地址用 64 位记录,最多能记录2^64个字节=2^64Bytes=2^34GB=17179869184GB=2^24TB,理论上;

2023-11-09 22:47:43 279

原创 Dijkstra算法,自己理解,简单清晰

3.初始化两个集合,S集合初始时 只有当前要计算的节点,A->A = 0,U集合初始时为 A->B = 4, A->C = ∞, A->D = 2, A->E = ∞,敲黑板!2.引入两个集合(S、U),S集合包含已求出的最短路径的点(以及相应的最短长度),U集合包含未求出最短路径的点(以及A到该点的路径,注意 如上图所示,A->C由于没有直接相连 初始时为∞)5.更新U集合路径,if ( ‘D 到 B,C,E 的距离’ + ‘AD 距离’ < ‘A 到 B,C,E 的距离’ ) 则更新U。

2023-10-22 15:12:32 103

原创 C++成员函数指针

【代码】C++成员函数指针。

2023-10-16 16:09:54 55

原创 类重载operator new/delete,operator new[]/delete[],全局重载operator new/delete,与原位new将申请内存和构造分离

【代码】类重载operator new/delete,operator new[]/delete[],全局重载operator new/delete,与原位new将申请内存和构造分离。

2023-10-16 15:16:57 65

转载 mac隐藏运行中应用的界面

mac隐藏运行中应用的界面

2023-02-11 20:44:13 317 1

原创 归并排序,C++

归并排序,C++

2023-01-10 23:19:51 112

原创 最长无重复子串(滑动窗口)

最长无重复子串(滑动窗口)

2023-01-09 23:55:02 128

原创 实例解释C++虚继承、菱形继承

虚继承、菱形继承

2022-11-01 18:56:32 99

转载 模板类、模板函数的模板类型显式实例化及其用途(转载)

模板类、模板函数的模板类型也是对应类、函数的“类型参数”,调用模板类、模板函数时将根据传入的“模板类型参数”才能实例化完整的类、完整的函数,不同的“模板类型参数”能实例化出不同的类、函数

2022-10-31 18:54:01 1181

转载 基于C的malloc()与free()自定义C++容器的内存分配器allocator

基于C的malloc()与free()自定义C++容器的分配器allocator,以及拷贝构造、拷贝赋值运算符,移动构造、移动赋值运算符

2022-10-24 17:18:06 207

转载 leetcode463岛屿周长的深度优先搜索分析

leetcode463岛屿周长的深度优先搜索

2022-10-13 16:01:07 105

原创 C++,vector<T>::insert()和push()调用拷贝构造而emplace()根据传入参数列表做函数匹配决定调用自定义构造函数或拷贝构造函数

C++,vector::insert()和push()调用拷贝构造而emplace()根据传入参数列表做函数匹配决定调用自定义构造函数或拷贝构造函数

2022-10-08 22:34:09 330

原创 《C++Primer》5ed直接初始化与拷贝初始化,标准库容器push与emplace的区别

标准库容器push与emplace的区别

2022-10-07 17:48:02 237

转载 不递归实现二叉树前序遍历、中序遍历

不递归实现二叉树前序遍历

2022-10-04 22:20:15 189

转载 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace

torch的with torch.no_grad()用法

2022-09-05 15:40:06 1132 2

原创 yaml对象数组类型XmlRpc::XmlRpcValue严格限定数据类型

yaml对象数组类型

2022-06-20 11:18:36 2212

原创 记一次2019MBP15.4蝶式键盘天才吧免费更换

提前打客服电话说明了蝶式键盘按键粘连、无法回弹、反馈不一致的情况,客服小姐姐很爽快地帮忙预约了天才吧周六早10:152022年3月12日周六早上带到华贸天才吧,小哥说要更换键盘,而键盘与触摸板、触控条、音响都是总成到键盘那一面的,要换就是整体换,还要换T2安全芯片,所以存在说备份系统的问题,现场苹果的1T硬盘要一千五,我的电脑工作生活两不误,备份是必须的,所以又回去拿了硬盘回来备好份。下午两点多,小哥现场检查了下硬件没有进水、自拆,爽快地收了电脑,登记信息,说可能两三天要。2022年3月13日周日下

2022-03-13 21:27:50 2503 4

原创 git rm -r cached <dir>按层次遍历目录导致删除目录下文件时“未匹配任何文件“错误

haypin@MBP  ~/cpp_cmake_js_java_python   main ✚  git add *haypin@MBP  ~/cpp_cmake_js_java_python   main ✚  find . \( -ipath './js*' -o -ipath '*build*' -o -ipath '*idea*' \) -a -not -ipath '*venv*' -a -print|xargs git rm --cachedfatal: 未提供 -r..

2022-01-27 10:14:42 986

原创 macOS建立目录软链接时源目录要求输入绝对路径而不能是相对路径

wps的云盘缓存机制跟没有一样,目录/Users/haypin/Library/Containers/com.kingsoft.wpsoffice.mac/Data/Library/Application\ Support/Kingsoft/WPS\ Cloud\ Files/userdata/qing/filecache/.1067001934/cachedata下的文件加起来能有20个G,这TM是云盘?在决定整理该缓存目录之前先建个软连接到家目录,发现在源目录下使用相对路径建立软连接不会报错,也

2021-12-17 11:03:52 1265

原创 重温C++顺序容器vector增长的内存分配,并记一次使用栈变量地址构造动态指针导致程序崩溃的stupid

教训:ROS的sensor_msgs::LaserScanPtr与sensor_msgs::LaserScanConstPtr都是boost库的动态指针,不是一般指针。自己在栈中创建的LaserScan变量不该用来构造sensor_msgs::LaserScanPtr或sensor_msgs::LaserScanConstPtr,因为对栈变量的“释放”将导致程序崩溃!namespace sensor_msgs{template <class ContainerAllocator>

2021-12-02 18:42:52 1151

原创 gitlab配置了ssh但clone仍提示输入密码

参考:gitlab用户添加ssh免密钥认证后clone还是要求输入密码_ultra seven的博客-CSDN博客我没有耐心去看服务器了,直接在本地重新生成另一个rsa公私钥对,将公钥增加到gitlab的ssh keys,再clone ssh的仓库地址时就不提示输入密码了,算是简单粗暴的解决办法...

2021-10-19 10:10:05 2552

原创 用C++自己写一个rm命令替换系统rm,执行mv * /Users/xxx/.Transh(废纸篓)

rm xxxmv xxx ~/.Trashrm命令简单但伤害性极大,现在用C++自己写一个rm命令执行mv * /Users/xxx/.Transh(废纸篓),给自己一碗回头药。1、源码:#include <iostream>#include <regex>#include <string>using namespace std;#define BUF_SIZE 1024 bool exec(const char* cmd,bool blog

2021-08-10 11:26:11 332

转载 VScode官网安装包可用wget下载的链接

wget -c https://code.visualstudio.com/sha/download\?build\=stable\&os\=linux-deb-x64断点续传大法好。

2021-08-06 18:26:52 1476

转载 iterm2拆分面板及子面板导航快捷键

先镇官网:https://iterm2.com/documentation-one-page.html拆分面板的内容:Split PanesiTerm2 allows you to divide a tab into many rectangular "panes", each of which is a different terminal session. The shortcuts cmd-d and cmd-shift-d divide an existing session .

2021-07-28 15:48:28 606

原创 C++进程内存结构

参考https://www.cnblogs.com/skullboyer/p/10979704.htmlhttps://www.cnblogs.com/laojie4321/p/4405069.htmlclass T{ public: static int cls_field; int field1 = 3; // 类内初始值,编译时初始化,data T(){ // field1 = 5; }};int T::cls_field

2021-07-26 17:37:48 163

原创 阅读Python官网文档对threading.Thread线程的介绍

Python线程模块threading:https://docs.python.org/zh-cn/3/library/threading.html1、Python的threading模块定义了许多类,该模块的设计基于Java的线程模型。但是,在Java里面,锁和条件变量是每个对象的基础特性,而在Python里面,这些被独立成了单独的对象(threading.Lock()锁,threading.Condition()条件变量)。Python 的Thread类只是 Java 的 Thread 类的一个..

2021-07-24 22:42:46 1377

原创 AttributeError: module ‘enum‘ has no attribute ‘IntFlag‘原因与解决办法

我是在不小心把python2.7的site-packages给加到$PYTHONPATH中污染了builtin的模块查找顺序,使得在激活python3.9.1、python3.9.5的虚拟环境时、初始化时在python3的re.py模块导入enum.IntFlag报“enum模块没有IntFlag属性错”,见下。解决办法是1、将python2的enum模块卸载掉,从而python3.9环境查找enum模块时可以查找到python3的,python2用到enum的时候建立一个python2的虚拟环境使用;2、

2021-07-24 16:04:59 5300 3

原创 awk正则表达式是贪婪匹配,以及复习Python正则表达式re

举个例子:对/etc/passwd的第20行到第25行,当指定[*:/]+ 作为分隔符时会贪婪匹配 :*:与 :/ 为一个间隔符,而在指定 [*:/] 作为分割符时只会分别将 :*: 匹配成3个分隔符, :/ 匹配成2个分隔符。(venv_mac) ⚙ haypin@HaypinsMBP  ~/PycProj  awk -F ':' '{if (NR>=20 && NR<=25) print $0}' /etc/passwd_scsd:*:31:31:...

2021-07-23 15:25:46 414

转载 python执行shell命令或可执行程序的subprocess模块

官网文档:https://docs.python.org/zh-cn/3/library/subprocess.html1、shell=True表示执行的命令是内置shell命令而非$PATH中的某个可执行程序,check=True表示对命令执行产生的异常进行raise抛出,如果不加以捕获则调用subprocess的整个程序将trackback打印异常到标准错误后退出,check=False不对命令执行产生的异常进行raise抛出,如果命令产生异常则返回subprocess.CompleteProces

2021-07-22 11:48:43 1689

原创 Error: python@3.9: wrong number of arguments (given 1, expected 0),解决办法:重装Homebrew

首先说下我遇到的问题,brew install <formula>时报错:(venv_mac) haypin@HaypinsMBP  /usr/local/Cellar  brew install cmakeError: python@3.9: wrong number of arguments (given 1, expected 0)既使退出前面的虚拟环境也不行,我打开调试信息发现:(venv_mac) ✘ haypin@HaypinsMBP  /usr/loca

2021-07-18 20:58:24 2384

转载 mac删除自己安装的多个版本的python解释器

转载自https://zhuanlan.zhihu.com/p/86732746转帖所说的:对于 Mac 自带的 Python,其框架目录为:/System/Library/Frameworks/Python.framework而我们安装的 Python,其(默认)框架目录为:/Library/Frameworks/Python.framework是一枚定心丸,我在其他博客上也看到有人首先列出/Library/Frameworks/Python.framework/Versions...

2021-07-14 23:37:43 1999

翻译 python安装模块(官网文档)

https://docs.python.org/zh-cn/3/tutorial/venv.html#https://packaging.python.org/tutorials/installing-packages/python安装模块(包)的方式: pip是首选的安装程序。从Python 3.4开始,它默认包含在Python二进制安装程序中。 virtual environment是一种半隔离的 Python 环境,允许为特定的应用安装各自的包,而不是安装到整个系统。ven..

2021-07-14 18:53:09 403

翻译 miniconda3官网介绍

https://docs.conda.io/en/latest/miniconda.htmlminiconda安装器包含有conda包管理器和Python解释器。有两种miniconda安装器:基于Python2的Miniconda与基于Python3的Miniconda3。这两个安装器都可以安装Python2.x与Python3.x的环境。其他区别是Python3版本的Miniconda3虚拟环境时默认创建Python3的,构建模块时也默认使用Python3构建。因此创建虚拟环境的命令:

2021-07-14 17:13:23 5736

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除