自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VScode配置

打开vscode,按住ctrl+鼠标左键不能跳转定义(右键没有go to definition)

2024-06-30 11:35:43 345

原创 模板显式、隐式实例化和(偏)特化、具体化的详细分析

最近看了看到了模板的特化,突然想起来上说的显式具体化、隐式具体化、特化、偏特化、具体化等概念弄得头晕脑胀,我在网上了找了好多帖子,才把概念给理清楚。

2024-06-10 11:57:25 744

原创 mnt手动挂载

【代码】mnt手动挂载。

2024-04-14 14:58:29 165

原创 cmake/make

原文链接:https://blog.csdn.net/lxn9492878lbl/article/details/83655152。2、如果的工程的库文件发生变化,即使工程文件没有加入新的文件,也需要删除之前编译产生的中间文件重新cmake .编译。当工程文件发生变化,但是没有增加或是减少文件,只是工程文件的代码发生变化,这个时候只需要make,不需要cmake。1、当工程加入新的文件时,只需使用cmake .命令,让CMake重新生成Makefile就一切OK。

2024-03-31 15:39:29 273

原创 C++17之std::variant

如下列出了为std:: variable 提供的所有操作。

2024-03-17 16:36:40 140

原创 clock_sequential

https://blog.csdn.net/weixin_41464428/article/details/122051594

2024-03-06 20:05:39 153

原创 git grep

但不要忽略任何结果,你需要使用适当的搜索工具。如果你使用的是 Git 作为版本控制系统,你可以使用 git grep 命令进行搜索。:即使当前目录不是一个 Git 仓库,也会搜索当前目录中的文件。文件中的规则,搜索所有文件。要在指定的代码仓库中搜索。

2024-02-29 10:28:00 309

原创 Notepad++ 配置C/C++语言编译环境

https://blog.csdn.net/lanlanmoqi/article/details/132378203https://blog.csdn.net/weixin_43090173/article/details/123910468

2024-02-25 17:03:06 110

原创 kill杀进程

【代码】kill杀进程。

2024-02-20 10:58:19 97 1

原创 【C++】const与constexpr详解

所谓常量表达式,指的就是由多个(≥1)常量组成的表达式。换句话说,如果表达式中的成员都是常量,那么该表达式就是一个常量表达式。这也意味着,常量表达式一旦确定,其值将无法修改。实际开发中,我们经常会用到常量表达式。以定义数组为例,数组的长度就必须是一个常量表达式:上述代码演示了 3 种定义 url 数组的方式,其中第 1、2 种定义 url 数组时,长度分别为 10 和 6+4,显然它们都是常量表达式,可以用于表示数组的长度;第 3 种 url 数组的长度为 length,它是变量而非常量,因此不是一个常

2024-02-18 21:16:50 1160

原创 IJTAG

TDI 输入 TDO输出。

2023-12-22 16:57:57 633

原创 boost::apply_visitor

是 Boost 库中用于访问 Variant 类型对象中存储的值的工具函数。Variant 类型是一种能够容纳多种类型值的类型,类似于联合体(union)或是 C++17 中的 std::variant。类型对象中的值,根据存储的不同类型值自动调用对应的处理函数,这对于处理不同类型的值在一组数据结构中很有用。则允许你使用访问者模式(Visitor Pattern)来处理 Variant 类型对象中的值。在 Boost 中,Variant 类型提供了一种安全、类型化的方式来处理不同类型的值。

2023-12-20 15:58:12 446

原创 BOOST_FUSION_ADAPT_STRUCT

适配后,这个结构体或类就可以被 Fusion 库中的算法(如 boost::fusion::for_each、boost::fusion::transform 等)使用,并且可以像序列一样进行迭代和操作。是 Boost 库中 Fusion 库提供的一个宏,用于简化结构体(或类)与 Fusion 库中序列的适配(Adaptation)过程。宏接受两个参数:第一个参数是要适配的结构体或类的名称,第二个参数是一个括号中的序列,序列中包含每个成员的类型和名称。

2023-12-20 10:05:11 461

原创 x3::forward_ast

在 Spirit X3 中,解析器(parser)可以生成一个抽象语法树(AST),它通常表示了输入文本的语法结构。x3::forward_ast 允许用户将这个抽象语法树中的部分或全部信息传递到自定义的数据结构中。在 Boost Spirit X3 中,x3::forward_ast 是一个转换器(transformer),用于将解析器(parser)的结果转发给用户自定义的结构。这个功能通常用于将解析器解析出的数据,按照用户定义的格式或者要求,存储到特定的数据结构中,以便进一步处理或使用。

2023-12-19 17:50:27 411

原创 boost::apply_visitor

类型对象中的值,根据存储的不同类型值自动调用对应的处理函数,这对于处理不同类型的值在一组数据结构中很有用。则允许你使用访问者模式(Visitor Pattern)来处理 Variant 类型对象中的值。在 Boost 中,Variant 类型提供了一种安全、类型化的方式来处理不同类型的值。,并依次给它赋值为整数、字符串和浮点数。在这个示例中,我们首先定义了一个包含。让我们来看一个简单的示例来说明。函数,分别用于处理不同类型的值。对象中存储的实际值类型,调用。函数中,我们创建了一个。,它包含了三个重载的。

2023-12-19 15:13:15 394

原创 C++ 在.h文件中包含头文件和在.cpp文件中包含头文件有什么区别?前置声明

Note:类A在编译的时候不需要拿到类B的定义是因为这里面定义的是指针,而对于指针是不需要定义就可以进行内存布局的,在编译A的类的声明的时候,在进行内存布局的时候是不需要拿到B的定义的。假设有两个类 A 和 B,A 类包含了 B 类的一个指针成员,并且在 A.cpp 文件中使用了 B 类的成员函数。6、如果a.c包含了头文件a.h,a.h包含了头文件b.h,b.c也包含了b.h,那么当b.h发生改变时,a.c和b.c都会重新编译。其中A类有一个成员b是Class B的指针,这个时候可使用类前置声明。

2023-12-19 14:47:08 1642

原创 fmt::format

https://fmt.dev/latest/syntax.html

2023-12-13 18:21:05 378

原创 【C++ 语法】__VA_ARGS__ 可变参数宏

正在编译文件的路径及文件名:正在编译文件的行号:编译时刻的日期字符串 如“Jun 17 2017”:编译时刻的时间字符串 如”1000“提示:__LINE__是整型数据;其实除了这些还有很多相关的定义,比如:1.:函数名,类型为:字符常量指针。2.:IDE版本信息,类型为:整型。

2023-12-13 18:12:20 1504

原创 master分支切换到release分支

【代码】master分支切换到release分支。

2023-12-13 18:02:32 372

原创 unordered_set自定义hash函数

【代码】unordered_set自定义hash函数。

2023-12-11 16:53:42 496

原创 git-stash操作

git stash这个命令将暂存未提交的更改并将工作目录恢复到干净的状态。这些更改可以通过后续的或恢复出来。

2023-12-06 18:09:10 580

原创 ASAN内存检测

ASan是Address Sanitizer简称,它是一种基于编译器用于快速检测原生代码中内存错误的工具。简而言之, ASan就是一个用于快速检测内存错误的工具, 目前已经集成在LLVM 3.1+和GCC 4.8+中。

2023-12-06 10:48:00 1069

原创 序列化共享指针

【代码】序列化共享指针。

2023-12-01 14:16:23 328

原创 初始化到指定内存

【代码】初始化到指定内存。

2023-11-27 18:27:59 364

原创 指针数组使用技巧

【代码】指针数组使用技巧。

2023-11-26 21:07:54 445

原创 std::function

/ 普通函数// lambda表达式// 函数对象类int main()} },return 0;来源。

2023-11-14 21:24:29 112

原创 电容的作用

问题: 直接连接灯泡会烧掉解决方案进一步为了防止电容放电,伤人,加入一个大电阻。

2023-11-12 17:15:26 98

原创 CMOS介绍

原理:1.通过门级和衬底加一个垂直电场Ev,从而在两口井之间形成反形层2.如果加的电场足够强,反形层就可以把source(源极)和drain(漏极)这两口井连接起来 3.在source和drain之间加入电场就导通了4.垂直电场越大,形成的沟道(反形层)就越宽,导电能力就越强,漏源之间的电阻就越小。

2023-11-12 14:24:43 478

原创 chapter 3-6

在2004年3月14日,Keith H. Duggar向我发送了上述的专利变体,它优于我最初想出的这个表达式,r = (+1 | (v >> (sizeof(int) * CHAR_BIT - 1))) * v,因为没有使用乘法。这种方法之所以有效,是因为如果 x < y,则 -(x < y) 将全部是1,所以 r = y ^ (x ^ y) & ~0 = y ^ x ^ y = x。否则,如果 x >= y,则 -(x < y) 将全部是0,所以 r = y ^ ((x ^ y) & 0) = y。

2023-10-29 17:21:33 71

原创 2. Compute the sign of an integer

上面的最后一个表达式等同于对于32位整数,sign = v >> 31。这比明显的方法sign = -(v < 0) 快一次操作。这个技巧的原因是,当有符号整数向右移位时,最左边的位的值被复制到其他位上。最左边的位在值为负时为1,否则为0;所有的1位得到-1。不幸的是,这种行为是与体系结构相关的。

2023-10-29 16:44:28 597

原创 C/C++位操作

https://graphics.stanford.edu/~seander/bithacks.html#DetectOppositeSigns

2023-10-29 15:51:08 35

原创 2.X3-解析器语义动作

前面的示例非常简单。它只是识别数据,但没有对数据执行任何操作。它只回答了一个问题:输入是否匹配?。为此,您需要使用语义动作。语义动作可以附加到语法规范的任何位置。这些动作是多态的函数对象,每当解析器成功识别输入的一部分时,它们就会被调用。假设您有一个解析器p和一个多态的C++函数对象f。您可以通过将函数对象fp[f]上述表达式将函数对象 f 与解析器 p 关联起来。

2023-10-15 18:22:53 108

原创 测试代码1

/ 使用 BOOST_FUNCTION_ADAPT_STRUCT 宏适配结构体到 Fusion 序列。// 创建一个 Person 结构体对象。// 定义一个结构体。

2023-10-15 12:22:27 127

原创 1.X3-Warming up

它使用了 *double_,其中 * 是Kleene星号,表示可以重复出现前面的 double_ 解析器来匹配零个或多个浮点数。这是一种灵活的解析方式,允许匹配任意数量的浮点数,它类似于正则表达式中的 “*”,用于表示重复出现。程序中使用 double_ >> double_ 表达式,它将两个 double_ 解析器连接在一起,表示需要解析两个浮点数,它们之间用 “>>” 操作符表示“后跟”。这个示例强调了如何将简单的解析器组合成更复杂的解析器,以便解析更复杂的文本结构。创建一个解析器,用于解析浮点数。

2023-10-15 11:36:45 540

原创 序列化链表

【代码】序列化链表。

2023-10-09 22:10:33 46

原创 boost序列化单例3

https://blog.csdn.net/u012508160/article/details/79127729

2023-09-26 18:19:18 60

原创 单例的例子

【代码】单例的例子。

2023-09-26 18:01:27 104

原创 序列化单例

序列化库依赖于一些静态变量和表格的存在,用于存储与运行时类型相关的信息。例如,这些表格可以将导出的名称与类型相关联,或者将基类与派生类相关联。

2023-09-26 16:46:39 90

原创 boost序列化vector

【代码】boost序列化vector。

2023-09-26 14:10:28 166

原创 boost序列化枚举

【代码】boost序列化枚举。

2023-09-26 13:38:14 106

空空如也

空空如也

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

TA关注的人

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