自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Clion自动添加函数标准注释模板

点击File->Settings;可以看到新生成了一个"func"的子条目,点击apply和ok。

2024-04-17 10:01:40 150

转载 svn: E155007: ‘xxx‘ is not a working copy

问题:在用svn命令提交文件到svn库的时候报错svn: E155007: 'xxx' is not a working copy(其中xxx为执行commit命令时所在的目录)问题原因:因为你提交的文件不在svn的checkout下来的原始路径下(就是说你的文件/路径是原svn所没有的),而svn提交失败是因为该文件/路径下没有.svn文件。svn mkdir -m "注释" svn://url/a/你要创建的文件夹。svn co svn://url/a/你要创建的文件夹。a\你要创建的文件夹。

2024-04-02 10:02:03 124

原创 libevent源码阅读 - evutil.c

errno == EINVAL 应该修改为 errno!函数:evutil_open_closeonexec_文件:evutil.c。

2023-08-05 15:11:04 78

原创 build.sh 示例

build.sh

2023-02-07 16:07:40 305

原创 unp系列笔记:第4章 4.3 connect 函数

unp

2023-01-08 00:48:09 111

原创 Redis Desktop Manager 连不上 Redis

redis

2022-11-27 23:16:08 432

原创 vim 配置及使用

vim

2022-10-02 10:26:14 396

原创 C源文件到可执行文件经历了什么?

C++

2022-10-02 09:00:17 138

原创 LC 删除排序数组中的重复项

class Solution {public: int removeDuplicates(vector<int>& nums) { int size = nums.size(); if (size <= 1) { return size; } int left = 0; for (int right = 1; right < size; ++right) ...

2021-12-29 11:10:07 149

原创 正向代理、反向代理

2021-09-06 00:10:29 61

原创 二叉树的遍历

遍历二叉树就是按一定的次序,系统地访问树中的所有结点,使每个结点恰好被访问一次。所谓访问结点,其含义是很广的,可以理解为对结点的增、删、修改等各种运算的抽象。在本节讨论中,假定访问结点即为输出结点数据域值。二叉树的遍历是最重要和最基本的运算,二叉树的许多操作都是以遍历为基础的。遍历二叉树的过程实际上就是按某种规律把二叉树的结点排成一个线性序列。由于二叉树是非线性结构,它的每个结点都可能有两个分支,也就是说一个结点可能有两个后继,所以,二叉树的遍历比较复杂,按照不同规则遍历得到的结果也就不同。另L、D、R

2021-08-07 19:47:43 153

原创 二叉树的存储结构 —— 链式存储

因为树型结构是非线性的结构,所以在存储器里表示树型结构的最自然的方法是链式存储。根据二叉树的特性,任何一个节点最多有左、右两棵子树,所以每个节点至少设有三个域:数据域和左、右指针域。其结点结构为:lchild data rchild 其中,lchild 是左孩子指针域,指向结点的左子树的根;data 是数据域;rchild是右孩子指针域,指向结点的右子树的根。这种存储结构又称为二叉链表。相应的类型说明为:typedef char DataType; // 数据的实际类型

2021-08-07 19:20:13 908

原创 MFC设置按钮图标

MFC作为一项古老的桌面应用程序UI框架,也出过很多优秀的产品,做的界面也还可以,但是作为经验不足的开发者,可能就会比较麻烦,例如给按钮加个图标,该如何实现呢?下面开始介绍如何给按钮加图标。 例如我们做个登录按钮,首先,你得画一个和控件大小相同的icon图(自己绘制,或者找专业的美工),如下所示, (1)将该图放到res目录,在程序ICON资源中导入改图, (2) 把按钮的Icon属性设为true, 不然给按钮添加的图标无法显示,如下: (3)添加代码:...

2021-07-01 14:28:44 2481

转载 MFC设置应用程序图标

首先准备好ICON图标。放到项目的res目录下。在VS中的 解决方案资源管理器 中找到 资源文件 中的.rc文件,打开,在Icon栏中右键添加资源,选择目标图片即可。然后把新插入ICON的ID写到Resource.h中,.exe文件的图标是该文件中资源值最小的图标,所以资源ID写最小即可。不过需要注意。添加资源的时候,就自动在Resource.h文件中给你#define了该资源的值,而且是一个比较大的值,直接删除,不然该资源符号就重定义了。在MainFrm.cpp的初始化函数(OnCreate或

2021-06-30 10:04:15 1808

原创 STL - 空vector的大小与容量

#include <QCoreApplication>#include <vector>#include <iostream>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); std::vector<int> vec; std::cout << vec.size() << std::endl; std::co.

2021-06-15 09:14:01 722

原创 内存泄露检测工具

内存泄露检测工具VLD,全称是Visual Leak Detector,是一款用于Visual C++的免费的内存泄露检测工具。下载下载地址1:https://kinddragon.github.io/vld/下载地址2:vld-2.5.1(直接下载2.5.1版)安装一路next即可。...

2021-06-09 23:59:27 62

原创 类对象所占用的空间(一)——空类、普通成员函数、静态成员函数

测试空类所占用的空间:#include <QCoreApplication>#include <iostream>class A{};int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); A obj; std::cout << sizeof(obj) << std::endl; return a.exec();}测试结果:1

2021-06-09 23:27:19 800

原创 Qt 之 对象树与所有权

Qt助手搜索:Object Trees & Ownership 可阅读原文。目录概述QObjects的构造/析构顺序概述QObjects在一个对象树中组织他们自己。当你创建一个以另一个对象作为其父对象的QObject对象时,它被添加到父对象的children()列表中,并且该对象随着其父对象的销毁而销毁。事实表明,这种机制非常适合管理GUI对象。例如,一个QShortcut(键盘快捷键)对象是相关窗口的一个子对象,因此,当用户关闭该窗口时,快捷键也会被销毁。QQuickItem, the b

2021-04-27 13:05:45 145

原创 C++ 之 this指针的类型

C++ 之 this指针的类型打印变量的类型请参考《C++ 之 打印变量的类型》#include <QCoreApplication>#include <iostream>#include <typeinfo>#include <string>#include <cxxabi.h>std::string getClearName(const char* name){ int status = -1; char*

2021-04-22 23:46:31 591

原创 C++ 之 打印变量的类型

C++ 之 打印变量的类型#include <QCoreApplication>#include <iostream>#include <typeinfo>class Test {};int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); Test *test; std::cout << typeid(test).name();

2021-04-22 23:22:42 5714

原创 Qt 之 获取文件大小

方式一:通过QFileInfo获取 QFileInfo info("C:\\Users\\lenovo\\Desktop\\测试.txt"); if (info.exists()) { qDebug() << info.size(); } else { qDebug() << "文件路径不存在!"; }

2021-04-22 14:34:25 12629

原创 Qt中使用Boost库——直接使用Boost源码

Qt中使用Boost库——直接使用Boost源码步骤1:将Boost源码拷贝到需要使用它的项目中,如下图所示:步骤2:在pro/pri文件中进行头文件声明(INCLUDEPATH += ./boost_1_66_0)步骤3:在源文件中引用头文件是不是很快捷。好,我们看看测试代码:#include <QCoreApplication>#include <boost/function.hpp>#include <boost/bind.hpp>#includ

2021-03-11 00:26:32 986

转载 C++ 并发编程(一):创建线程

C++ 并发编程(一):创建线程这个系列是我近期学习 C++ 并发编程的总结,文章和代码最初都是基于 Boost.Thread,但是最近越来越发现,STL 内置的线程和同步工具已经足够完善了。STL 和 Boost 线程,在设计和用法上极其相似,一旦掌握了一个,不难切换到另一个。如果非要比较的话,Boost 更完善一些,比如 Boost 提供了 thread_group 和 upgrade_lock,STL 则没有。此节介绍「线程的创建」。Hello 1通过一个不带参数的函数创建线程。#incl

2021-03-08 23:24:21 174

原创 C++ 中如何输出函数的地址

C++ 中如何输出函数的地址#include <iostream>void hello(){ }int main(int argc, char *argv[]){ std::cout << hello << std::endl; std::cout << &hello << std::endl; return 0;}输出结果为:11显然输出结果是错误的,究其原因,是C++中的co

2021-03-08 21:58:41 3673

空空如也

空空如也

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

TA关注的人

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