随笔分类 -  编程语言 / C/C++

1 2 3 4 下一页
C++中的各种锁
摘要:在多线程开发中,经常会遇到数据同步,很多情况下用锁都是一个很好的选择。C++中常用的锁主要有下面几种: 互斥锁(std::mutex) 这是最基本的一种锁。它用于保护共享资源,在任意时刻,最多只有一个线程可以获取该锁,从而访问被保护的资源。当一个线程获取了互斥锁后,其他试图获取该锁的线程会被阻塞,直 阅读全文
posted @ 2024-11-05 22:29 Arthurian 阅读(1306) 评论(0) 推荐(6)
QT生成固定长度的随机字符串
摘要:最近项目中有一个需要使用QT生成固定长度随机字符串的需求,需求也很简单,就是生成一个n位的仅包含0-9以及大写字母的字符串,因为这也是第一次使用QT自身的随机数,这里就做一下简单记录。 废话不多说,直接上代码。 1 QString getRandomString(int length) 2 { 3 阅读全文
posted @ 2024-03-12 22:11 Arthurian 阅读(413) 评论(0) 推荐(0)
一些好玩但很少用到的小程序
摘要:一些小程序,仅供自己玩,不能放在生产环境。 阅读全文
posted @ 2023-10-03 22:04 Arthurian 阅读(80) 评论(0) 推荐(0)
C++智能指针
摘要:智能指针是C++语言中一种方便、安全的内存管理工具。智能指针可以自动管理对象的生命周期,避免手动分配和释放内存时可能出现的内存泄漏和悬挂指针等问题。在C++11标准中,引入了三种智能指针:unique_ptr、shared_ptr 和 weak_ptr。 类型 含义 备注 std::unique_p 阅读全文
posted @ 2023-09-16 23:44 Arthurian 阅读(1740) 评论(2) 推荐(4)
realloc() 用法详解
摘要:在开发过程中我们经常要动态地进行内存分配,而内存的管理是一个重要的问题。在C语言中,内存分为四个区域:堆区,栈区,全局/静态存储区和常量存储区。其中,堆区用于动态内存分配。在C标准库中,主要有两个函数用于动态内存分配,分别是malloc()和realloc()。 malloc()函数 malloc( 阅读全文
posted @ 2023-09-11 23:04 Arthurian 阅读(726) 评论(0) 推荐(0)
C++ STL之map、multimap
摘要:map和multimap是C++ STL(Standard Template Library)中的关联容器,它们提供键值对的存储和访问。 map是一个有序关联容器,它存储一组键值对,其中每个键都是唯一的。map中的键值对按照键的升序排序。用户可以通过键来访问、修改和删除对应的值。map的实现通常使用 阅读全文
posted @ 2023-09-10 23:48 Arthurian 阅读(261) 评论(0) 推荐(0)
C++ STL 容器简介
摘要:1、总述 C++ STL(Standard Template Library)是 C++ 标准库的一部分,包括了许多数据结构的实现,提供了许多好用的轮子,同时,其设计思想也非常值得学习。其中,容器是 STL 中最重要的一部分,它是一种高效的数据存储和管理方式,能够方便地处理不同类型的数据,并提供许多 阅读全文
posted @ 2023-08-13 22:49 Arthurian 阅读(87) 评论(0) 推荐(0)
利用DbgHelp获取线程的栈回溯信息
摘要:当线程发生异常时,我们如果可以记录下来异常线程的堆栈信息,那么对于我们后续问题处理将会有极大的帮助。这里记录一个操作方法。 1 #include <iostream> 2 #include <Windows.h> 3 #include <process.h> 4 #include <DbgHelp. 阅读全文
posted @ 2022-09-25 16:40 Arthurian 阅读(203) 评论(0) 推荐(1)
Qt Creator pro文件常见配置
摘要:HEADERS:指定项目的头文件(.h) SOURCES:指定项目的源文件(.cpp) FORMS:指定协议UIC处理的由Qt Designer生成的.ui文件 RESOURCES:指定需要rcc处理的.qrc文件 DEFINES:指定预定义的C++预处理器符号 INCLUDEPATH:指定C++编 阅读全文
posted @ 2022-09-25 15:01 Arthurian 阅读(259) 评论(0) 推荐(0)
C++处理系统相关权限问题
摘要:权限问题处理是日常开发过程中很常见的一个操作,这里记录一下使用方法 阅读全文
posted @ 2022-09-08 23:00 Arthurian 阅读(379) 评论(0) 推荐(0)
QT中的宏定义
摘要:1、操作系统宏 //在<QtGlobal>中,定义了各个系统的宏定义 //Defined on AIX. #ifdef Q_OS_AIX // Defined on Android. #define Q_OS_ANDROID //Defined on Any BSD 4.4 system. #def 阅读全文
posted @ 2021-03-17 11:34 Arthurian 阅读(3064) 评论(0) 推荐(0)
QT Creator项目路径设置
摘要:为了编译时输出的文件不那么混乱,需要对QT Creator的项目文件做一些设置,这里记录一下pro文件里面各个参数的用法 阅读全文
posted @ 2021-03-13 15:01 Arthurian 阅读(1111) 评论(0) 推荐(0)
Qt Creator快捷键记录
摘要:QT Creator使用过程中用到的一些快捷键记录 阅读全文
posted @ 2021-03-13 10:49 Arthurian 阅读(256) 评论(0) 推荐(0)
从使用delete释放指针导致程序崩溃看变量初始化
摘要:先来看下面的代码 bool FuncTest(LPCTSTR lpcProc) { bool bRet = false; ... if (CONDITION1) { goto FUNC_CLEAN; } char* pchX = new char[100]; ... FUNC_CLEAN: if ( 阅读全文
posted @ 2020-08-22 20:58 Arthurian 阅读(1166) 评论(0) 推荐(0)
C++递归创建文件夹
摘要:根据传入的参数递归进行目录的创建。 函数描述: 递归创建目录。 入参: 所要创建的目录。 返回值: 创建成功,返回TRUE;否则返回FALSE。 1 BOOL CreateDirTree(LPCTSTR lpPath) 2 { 3 if( (NULL == lpPath) || (0 == _tcs 阅读全文
posted @ 2020-04-11 19:44 Arthurian 阅读(2392) 评论(0) 推荐(0)
PTA之多项式求值
摘要:时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 裁判测试程序样例: 1 #include <s 阅读全文
posted @ 2019-11-24 16:00 Arthurian 阅读(1031) 评论(0) 推荐(0)
C++利用宏实现变量交换的三种方式
摘要:C++利用宏实现变量交换的三种方式 阅读全文
posted @ 2019-08-31 22:04 Arthurian 阅读(816) 评论(0) 推荐(0)
结构体的一些容易被忽略的重要知识
摘要:我们经常使用结构体,但是很多人却不知道结构体使用还有一些很重要的地方需要注意。 阅读全文
posted @ 2018-07-28 16:52 Arthurian 阅读(434) 评论(0) 推荐(0)
PTA之求单链表结点的阶乘和
摘要:题目描述 本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。 时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB 函数接口定义: int FactorialSum( List L ); 其中单链表List的定义如下: typed 阅读全文
posted @ 2018-06-21 09:35 Arthurian 阅读(846) 评论(0) 推荐(0)
PAT 之 A+B和C
摘要:时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard 题目描述 给定区间 [-2的31次方, 2的31次方] 内的3个整数 A、B 和 C,请判断 A+B 是否大于 C。 输入描述 输入第1行给出正整数T(<=10),是测试用例的个数。随后给出 阅读全文
posted @ 2018-06-16 19:11 Arthurian 阅读(562) 评论(0) 推荐(0)

1 2 3 4 下一页