- 博客(8)
- 收藏
- 关注
原创 递归无重复不排序的多叉树CMultiTreeR
#ifndef _RECURSION_MULTITREE_H #define _RECURSION_MULTITREE_H #include<vector> //直系后代与主树进行移动操作时,其行为未定义;复制操作是良好的 template<typename Ty> class CMultiTreeR { public: using vec_type = std::vector<CMultiTreeR>; using iterator = typename vec_
2022-10-27 08:58:25
237
原创 可变模板参数的多叉树数据结构
#ifndef CMULTITREE__H #define CMULTITREE__H /* 多叉树类:可定义任意层数的多叉树型结构。 用途1:适用于任何确定层数的上下级分层结构 用途2:快速分组 说明1:对象一经定义,层数就确定了,无法在之后使用增加层数 说明2:每一层的类型都可以不同 说明3:编译器需支持C++11、变参模板 ps:定义对象时除第一个模板参数不能是引用外,其它模板参数可以是引用类型。优点为减少复制,缺点是放弃了移动操作,对非引用右值只能进行复制 */ #include<typ
2021-10-12 21:12:22
235
原创 浮点数是否在一个区间内或者判断该浮点数是否为整数
#define PRECISION 0.000001 //取边界[iMin,iMax] double val = xx; int iMin = xx; int iMax = xx; if(val - iMin > -PRECISION && val - iMax < PRECISION) printf("浮点数在区间内"); else printf("浮点数不在区间内"); //不取边界(iMin,iMax) double val = xx; int iMin =
2020-12-18 13:42:06
1413
原创 C++类构造与析构顺序
1.所有基类的构造函数必须被调用 1)如果基类在构造函数初值列中,必须提供基类构造函数所需的参数 2)如果基类不在初值列中,将调用基类默认构造函数
2020-09-11 18:16:35
477
原创 Linux文件篇
1文件权限 # ls -l 总用量 40 drwxr-xr-x 2 tech tech 4096 8月 27 13:08 Desktop drwxr-xr-x 2 tech tech 4096 8月 26 19:50 Documents drwxr-xr-x 2 tech tech 4096 8月 26 19:50 Downloads ... 首字母 表示 - 普通文件。 d 目录文件。 l(link) 链接文件。 b 块设备文件。 c 字符设备文件。 p 管道文
2020-09-11 17:41:54
459
1
原创 C++以atomic_flag实现简单自旋锁
#include<atomic> using namespace std; class spinlock { //默认构造,其值为false(clear状态),C++20以前可以使用ATOMIC_FLAG_INIT将值初始,C++20弃用。 atomic_flag flag; public: void lock() { //此函数将值设为true并返回旧值.当返回false,即该线程成功获取了锁 //其他线程将返回true值,即被阻塞(忙等待将造成浪费) while(
2020-09-01 00:43:12
426
原创 C++实现具有类型检查的整型字节处理
#include<type_traits> using namespace std; //消除平台定义的宏 #ifdef HIBYTE #undef HIBYTE #endif #ifdef LOBYTE #undef LOBYTE #endif #ifdef HIDWORD #undef HIDWORD #endif //某些老式编译器还未将类型特性移到std #ifndef _MSC_VER using namespace tr1; #endif //返回整型某个字节并且外部可以修改
2020-08-27 10:35:29
243
原创 一个命令的操作结果当做另一个命令的输入
1.管道命令符 ~$ uname -a Linux virtual-machine 5.3.0-61-generic #55-Ubuntu SMP Fri Jun 19 11:16:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux uname -a可打印出机器名与系统内核版本等信息,如果加上管道符|,将会把输出信息传给后一个命令当做输入: ~$ uname -a | wc -w 15 得到uname -a 的结果由15个单词组成 2.反引号(``) 反引号(倒引号)
2020-08-25 00:24:44
1539
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅