- 博客(460)
- 资源 (8)
- 收藏
- 关注

原创 数据库选型:打破成见,回归业务本质
数据库选型是一个复杂而重要的决策过程,企业需要打破对分布式数据库的盲目追捧,回归业务本质,根据自身的业务需求和痛点进行理性选择。金仓数据库凭借其丰富的产品线和成熟的解决方案,能够为企业提供全方位的支持,帮助企业找到最适合的数据库选型方案。只有这样,企业才能在数字化转型的道路上稳步前行,避免因错误的技术选择而带来的不必要的成本和风险。
2025-05-21 14:23:23
1966
44

原创 基于ASUS Tinker Board2s 的小易AI智能体项目实现
是项目的配套平台,供大家免费使用。提前创建扣子智能体、新建授权码在上方小易平台上注册刚创建的智能体组装开发板、屏幕、麦克风、喇叭,然后在华硕开发板内拉取小易开源项目并使用dotnet run来运行项目,或者编译项目后打包到开发板内直接运行也可。最终你就拥有了一个可以对话可以文字聊天的2D在线小易。
2025-05-12 18:27:20
2451
1

原创 金仓数据库KingbaseES技术实践类深度剖析与实战指南
例如,在一个企业级项目中,原本使用Oracle数据库的开发团队,在迁移到KingbaseES时,由于KingbaseES支持Oracle语法,开发人员无需花费大量时间去学习新的语法,只需对少量与Oracle不同的特性进行了解和调整,就可以快速上手,继续进行项目开发。例如,在一个分布式集群中,通过监控节点的CPU使用率、内存使用率和磁盘I/O吞吐量等指标,可以及时发现节点的异常情况,并提前采取措施进行处理,避免故障的发生。例如,针对国产芯片的指令集特点,优化数据库的查询执行计划,减少不必要的指令开销。
2025-04-25 23:05:12
14188
56

原创 金仓数据库 KingbaseES 产品深度优化提案:迈向卓越的全面升级
然而,随着技术的不断进步和市场需求的日益增长,为了使 KingbaseES 能够更好地适应复杂多变的业务场景,满足用户对高性能、高安全和高可扩展性的要求,对其进行全面且深入的优化显得尤为迫切。在未来的发展中,KingbaseES 将凭借持续的优化和创新,在国产数据库市场中占据更加重要的地位,为各行业的信息化建设提供更加坚实的支持。引入基于代价的查询优化算法,如动态规划算法、贪心算法等,可以根据数据的统计信息、索引分布和查询条件,对不同的执行计划进行代价评估,从而选择最优的执行计划。
2025-04-25 11:09:51
15207
80

原创 解锁 AI 开发的无限可能:邀请您加入 coze-sharp 开源项目
coze-sharp 是一个轻量级且强大的工具,它将 C# 的开发优势与 Coze AI 的智能能力无缝结合。Coze 是一个新兴的 AI 聊天机器人平台,支持自然语言处理、对话生成等功能,而 coze-sharp 则是它的 C# 语言桥梁。现在加入,您将与我们一起定义它的方向,用代码开启 AI 的无限可能。未来,它可能会成为 .NET 生态中 AI 开发的重要一员——而这一切,离不开您的参与。现在加入,您不仅能体验到一个新颖的 AI 工具,还能直接参与它的成长,塑造它的未来!
2025-03-14 00:00:00
2083
14
原创 C++23 新成员函数与字符串类型的改动
在 C++23 之前,如果要检查一个字符串是否包含另一个子字符串,通常会使用find函数,并检查其返回值是否不等于npos。return 0;C++23 引入了contains函数,使得代码更加简洁和直观。和提供了三个重载版本,分别用于检查字符串是否包含一个字符串视图、一个字符或一个以空字符结尾的字符串。是 C++17 引入的一个轻量级的非拥有型字符串表示,它设计用来提供对字符序列的引用。C++23 引入了显式范围构造函数,使得可以更方便地从一个范围构造。
2025-05-28 00:00:00
512
原创 C++23:关键特性与最新进展深度解析
同时,C++23还对字符串字面量的处理进行了改进,支持更灵活的原始字符串字面量语法,减少了因转义字符而带来的错误和复杂性。此外,C++23还增强了元组与范围的兼容性,使得元组可以更自然地与其他标准库组件结合使用,提升了数据处理和算法实现的效率。同时,C++23还改进了范围的性能和与其他标准库功能的协同性,使得范围在数据处理和算法实现中更加高效和自然。的改进以及栈踪迹的格式化,C++23不仅提升了语言的表达力和灵活性,还为性能优化和调试支持提供了强大的工具。通过范围、元组、字符与字符串转义表示的改进,以及。
2025-05-28 00:00:00
224
原创 浮点数的陷阱:为什么 18446744073709547520 + 3840 等于 9223372036854775808?
并给出正确的解决方案。
2025-05-27 00:00:00
473
原创 C++23 std::start_lifetime_as:用于隐式生存期类型的显式生存期管理函数 (P2590R2)
C++23是C++编程语言的一个重要版本,它在C++20的基础上进行了补充和优化,引入了多个关键的新特性和改进,旨在进一步提升语言的功能和开发效率。与C++20相比,C++23的变化虽然没有那么显著,但依然对语言的稳固性和可用性做出了许多重要改进,解决了一些细节问题,并引入了新的编程工具和方法。是C++23标准库中一个非常有用的工具函数,它为隐式生存期类型的对象提供了一种简洁、高效的显式生存期管理方式。通过在未初始化的存储区域上直接创建对象,避免了复杂的拷贝操作,保持了对象的表示不变,简化了代码逻辑。
2025-05-27 00:00:00
657
原创 C++23 对部分特性的 constexpr 支持
是一个固定大小的位序列容器,在 C++23 之前,仅有一个构造函数和operator[]被标记为constexpr。P2417R2 提案对的constexpr接口进行了扩展,鉴于能够是constexpr的所有内部结构以及完整的 API 如今都能够是constexpr。是一种智能指针,用于管理动态分配的对象,保证对象的所有权唯一。P2273R3 提案被接纳后,在 C++23 中支持constexpr。用于在运行时获取类型信息,而用于比较两个类型信息对象是否指代相同的类型。在 C++23 之前,typeid。
2025-05-26 00:00:00
1062
原创 C++23 元编程工具新特性探索
C++23 元编程工具中的这些新特性为开发者提供了更多的编程便利和安全性。添加比较概念对仅移动类型的支持使得范围适配器能够更好地与现代 C++ 的资源管理模式结合,提高了代码的灵活性和简洁性。而几个类型特征,如和,则在编译时提供了更多的类型检查和判断能力,帮助开发者编写更安全、更健壮的代码。随着 C++ 标准的不断发展,我们可以期待更多实用的特性和工具的出现,进一步提升 C++ 编程的效率和质量。
2025-05-26 00:00:00
1007
原创 C++23 std::out_ptr 和 std::inout_ptr:提升 C 互操作性
C++23 中引入的和为 C++ 与 C 的互操作性提供了强大的支持。它们不仅简化了智能指针与 C 风格 API 的交互,还减少了手动管理指针的风险,提升了代码的安全性和可维护性。通过这些工具,开发者可以更轻松地在现代 C++ 代码中集成 C 语言的库和功能,进一步推动 C++ 在跨语言编程中的应用。
2025-05-25 15:42:03
783
1
原创 C++23内存分配新特性:std::allocate_at_least
对于自定义分配器,提供了一种更灵活的内存分配方式。开发者可以根据实际需求实现方法,以优化内存分配策略。例如,自定义分配器可以利用一次性分配足够的内存,避免多次分配。此外,的自由函数版本使得在编写通用代码时可以更方便地使用分配器,而无需担心分配器是否实现了方法。C++23中的和为内存分配带来了新的灵活性和优化手段。通过返回实际分配的内存大小,它们使得调用者能够更高效地管理内存,特别是在动态容器和自定义分配器中。这些特性不仅提高了代码的性能,还增强了内存管理的灵活性。随着C++23标准的逐步普及,
2025-05-25 15:40:11
333
原创 C++23 容器推导指引中对于分配器的非推导语境(P1518R2)
P1518R2 提案通过引入非推导上下文和修改推导指引规则,显著改善了C++23中容器推导指引对分配器的处理。这些改进使得代码更加简洁,同时避免了因分配器类型导致的推导失败。随着C++23的逐步普及,这些改进将为开发者带来更流畅的开发体验。
2025-05-23 00:00:00
980
原创 C++23中std::span和std::basic_string_view可平凡复制提案解析
P2251R1提案要求std::span和可平凡复制,这是C++23标准中的一个重要改进。这一改变不仅提升了std::span和的性能,还增强了它们与其他库和工具的兼容性,提高了代码的可移植性和一致性。在实际编程中,开发者可以更加高效地使用std::span和,充分发挥它们的优势,编写更加高效、安全和可维护的代码。
2025-05-23 00:00:00
784
1
原创 C++23 新特性:允许 std::stack 与 std::queue 从迭代器对构造 (P1425R4)
C++23中允许std::stack与std::queue从迭代器对构造的新特性,是标准库灵活性和实用性的重要提升。它简化了从特定范围构造容器的过程,使代码更加简洁和直观。随着C++23的普及,我们期待看到这一特性在实际开发中的广泛应用。
2025-05-22 00:00:00
586
原创 C++23关联容器的异质擦除重载 (P2077R2)介绍
在C++中,关联容器是一种非常重要的数据结构,它在存储元素值的同时,还会为各元素额外配备一个值(键),通过键可以高效地存储和读取元素。而C++23关联容器的异质擦除重载 (P2077R2) 则对这一情况进行了改进,它允许使用与容器键类型不同的类型进行擦除操作,只要这些类型可以通过某种方式隐式转换为容器的键类型即可。异质擦除重载允许传入与容器键类型不同但可隐式转换的类型,在进行擦除操作时,编译器会自动进行类型转换,将传入的类型转换为容器键的类型,从而实现对元素的擦除。在高性能计算领域,对程序的性能要求极高。
2025-05-22 00:00:00
900
1
原创 C++23 容器从其他兼容范围的可构造性与可赋值性 (P1206R7)
C++23中容器从其他兼容范围的可构造性与可赋值性是一个重要的改进。它不仅提高了容器的灵活性,还简化了类型转换的复杂性。通过支持从兼容范围的构造和赋值,容器能够更好地与现代C++的编程模式结合。开发者可以在不牺牲性能和类型安全的前提下,充分利用容器的便利性。
2025-05-21 00:00:00
645
原创 C++23 新增扁平化关联容器详解
是一个类似于std::set的容器,但它使用扁平化存储的唯一键集合。它的底层实现使用排序的连续存储(通常是或类似结构),而不是树结构。查找速度快:查找操作使用二分查找,时间复杂度为OlognO(log n)Ologn。由于内存连续,缓存命中率高,总体查找速度比std::set快。插入和删除较慢:插入和删除操作通常需要对数组中的元素进行整体移动,尤其在不支持移动构造时,时间复杂度为OnO(n)On。迭代速度快:由于内存局部性,迭代速度比std::set快。内存占用小。
2025-05-21 00:00:00
1099
原创 C++23 放宽范围适配器以允许仅移动类型 (P2494R2)
C++23 中放宽范围适配器以允许仅移动类型是一个重要的改进。它不仅提高了范围操作的灵活性,还简化了资源管理的复杂性。通过支持仅移动类型,范围适配器能够更好地与现代 C++ 的编程模式结合。开发者可以在不牺牲性能和资源管理的前提下,充分利用范围操作的便利性。
2025-05-20 00:00:00
927
原创 C++23 std::mdspan:多维数组处理新利器
C++23是C++语言的最新版本,它在C++20的基础上进行了补充和优化,引入了许多新特性和改进,旨在进一步提升C++语言的功能和开发效率。与C++20相比,C++23的变化虽然没有那么显著,但依然对语言的稳固性和可用性做出了许多重要改进。C++23的新特性包括明确的对象参数(Deducing this)、、多维下标运算符、内建衰减复制支持、标记不可达代码()、平台无关的假设([[assume]])、命名通用字符转义、扩展基于范围的for循环中临时变量的生命周期、constexpr。
2025-05-20 00:00:00
1242
原创 C++23 放宽范围适配器以允许仅移动类型(P2494R2)
C++23 中放宽范围适配器以允许仅移动类型是一个重要的改进。它不仅提高了范围操作的灵活性,还简化了资源管理的复杂性。通过支持仅移动类型,范围适配器能够更好地与现代 C++ 的编程模式结合。开发者可以在不牺牲性能和资源管理的前提下,充分利用范围操作的便利性。
2025-05-19 00:00:00
1517
原创 C++23 范围迭代器作为非范围算法的输入 (P2408R5)
C++23是C++标准的下一个重要更新版本,虽然不如C++20那样具有颠覆性,但它依然带来了许多值得开发者关注的改进和新增特性。C++23在C++20的基础上进行了补充和优化,解决了一些细节问题,并引入了新的编程工具和方法,旨在进一步提升C++语言的功能和开发效率。C++23中范围迭代器作为非范围算法的输入(P2408R5提案)是一个非常有价值的特性,它为处理范围数据提供了新的视角和方法。
2025-05-19 00:00:00
1197
原创 C++23 新特性:使某些视图的多参数构造函数显式化(P2711R1)
C++23 中引入的显式化视图多参数构造函数是一个重要的改进。它有助于提高代码的安全性和可读性,减少因隐式构造函数调用而导致的潜在问题。虽然这一改进可能会引入向后兼容性问题,但其带来的好处超过了这些缺点。开发者需要了解这一改进,并在必要时对现有代码进行调整。C++23 - cppreference.cn - C++参考手册。
2025-05-18 10:27:31
689
原创 C++23:修正常量迭代器、哨兵和范围
C++23对常量迭代器、哨兵和范围的修正,特别是和其他类似实用程序的改进,以及视图适配器的引入,解决了C++20范围库在常量正确性方面存在的一些问题。这些改进使得开发者在编写代码时能够更加方便地处理常量范围,确保数据的只读访问,提高了代码的安全性和可维护性。同时,对于浅const视图(如std::span),常量迭代器的保证也让我们在使用这些视图时更加放心。随着编译器对C++23标准的逐步支持,这些新特性将为C++程序员提供更多的便利和灵活性。
2025-05-18 10:24:43
1089
原创 C++23 中的 ranges::fold_left:范围折叠算法
);// 输出:Result: 12345在这个例子中,fold_left使用了一个自定义的 lambda 表达式,将整数范围转换为一个字符串。
2025-05-17 00:00:00
458
原创 C++23:ranges::iota、ranges::shift_left和ranges::shift_right详解
是std::iota的范围化版本,它在C++11中就已经存在,而在C++23中得到了进一步的扩展和优化。std::iota函数定义在<numeric>头文件中,用于将一个连续递增的值填充到指定的范围中,起始值为value,并重复执行++value操作。的功能与之类似,但它更符合现代C++的范围编程范式,能够更方便地与其他范围算法和视图结合使用。是一个用于将范围中的元素向左移动指定位置的算法。它定义在该算法将范围或r中的元素向左移动n个位置。如果,则没有任何效果;如果n < 0,行为是未定义的。
2025-05-17 00:00:00
902
原创 C++23 新特性:ranges::contains 与 ranges::contains_subrange
和是 C++23 中非常有用的特性,它们扩展了 C++ 范围库的功能,使得对范围的操作更加直观和方便。随着编译器对 C++23 标准的逐步支持,这些新特性将为 C++ 程序员提供更多的便利和灵活性。
2025-05-16 00:00:00
568
原创 C++23 新增的查找算法详解:ranges::find_last 系列函数
C++ Ranges 库是 C++20 标准的一部分,它为 C++ 标准库引入了一种新的范式,旨在提供更现代、更安全、更高效的方式来处理序列和算法。Ranges 库通过引入范围(ranges)、视图(views)、适配器(adaptors)等概念,使得对序列的操作更加灵活和表达力更强。在传统的 C++ 中,操作序列通常涉及迭代器(iterators)和算法(algorithms),这种方式虽然强大,但往往代码冗长且容易出错。
2025-05-16 00:00:00
2120
原创 C++23 中的 ranges::starts_with 与 ranges::ends_with
用于检查一个范围是否以另一个范围作为前缀。基于迭代器的版本,允许用户指定范围的起始和结束迭代器。基于范围的版本,直接接受两个范围作为参数。其模板参数包括输入迭代器、哨兵、可选的比较器和投影函数。比较器和投影函数的默认实现分别是和identity。用于检查一个范围是否以另一个范围作为后缀。它的重载形式和参数与类似,但对迭代器和范围的要求略有不同。例如,它要求至少有一个范围是正向迭代器或具有大小的哨兵。和。
2025-05-15 00:00:00
409
原创 C++23 ranges::to:范围转换函数 (P1206R7)
在了解ranges::to之前,我们先来简单回顾一下C++23中Ranges的相关内容。C++23中,Ranges更新占比较大,主要包含两部分内容:一是修复已知问题,二是完善遗落组件,可看作是对C++20的收尾工作。Ranges提供了一种抽象,允许C++程序对数据结构的元素进行统一操作,我们可以把它看作是对两个迭代器的泛化。最简单的范围应该定义了begin()和end()元素。
2025-05-15 00:00:00
1046
原创 C++23 ranges::range_adaptor_closure:程序定义的范围适配器闭包的辅助类
C++23 引入了,这是一个辅助类模板,用于定义用户自定义的范围适配器闭包对象。这一特性主要来源于P2387R3提案,旨在支持用户定义的范围适配器与标准库视图适配器在管道表达式中的互操作。是一个类模板,用于确保用户定义的类型T是一个范围适配器闭包对象。单参数函数对象T必须是一个单参数函数对象,接受一个范围作为参数。单一基类T必须恰好有一个公共基类,且不能有其他类型的作为基类。非范围类型T本身不能是一个范围。C++23 的。
2025-05-14 00:00:00
487
原创 C++23 views::zip 和 views::zip_transform (P2321R2) 深入解析
C++23是C++标准的下一个重要更新版本,虽然不如C++20那样具有颠覆性,但它依然带来了许多值得开发者关注的改进和新增特性。C++23在C++20的基础上进行了补充和优化,解决了一些细节问题,并引入了新的编程工具和方法,旨在进一步提升C++语言的功能和开发效率。是C++23引入的一个范围适配器,它接受一个或多个view,并生成一个view,其第i个元素是由所有视图的第i个元素组成的类似元组的值。生成的视图的大小是所有适配的视图大小的最小值。在标头<ranges>(1) (自 C++23 起)
2025-05-14 00:00:00
1051
原创 C++23 views::slide (P2442R1) 深入解析
简单来说,Range就是一种可以遍历的序列,你可以把它想象成更智能、更灵活的数组或者容器。C++20引入了Ranges这个概念,让我们可以更方便地操作这些序列。例如,我们可以使用Ranges来过滤、转换、拼接序列等。和是C++23引入的新特性。slide_view是一个范围适配器,它接受一个view和一个数字n,并产生一个视图,其第m个元素(一个“窗口”)是原始视图的第m个到第个元素的视图。令s如果s >= n,则为s - n + 1;否则为0,并且生成的视图为空。表示一个。给定子表达式e和n。
2025-05-13 00:00:00
1138
原创 C++23 新特性:深入解析 std::views::join_with(P2441R2)
是C++23标准中一个非常实用的新特性,它通过提供索引和元素的组合,简化了对集合中元素及其索引的访问。这不仅提高了代码的可读性和效率,还增加了灵活性,使得开发者可以更加方便地处理需要索引信息的场景。随着C++23标准的推广,无疑将成为开发者工具箱中的一个重要工具。
2025-05-12 00:00:00
852
原创 C++23 views::repeat (P2474R2) 深入解析
简单来说,Range就是一种可以遍历的序列,你可以把它想象成更智能、更灵活的数组或者容器。C++20引入了Ranges这个概念,让我们可以更方便地操作这些序列。例如,我们可以使用Ranges来过滤、转换、拼接序列等。和是C++23引入的新特性,它们是一个范围工厂,通过重复生成相同的值来生成元素序列。可以是有界的或无界的(无限)。对于任何合适的子表达式e和f和分别是 expression-equivalent 到和(具有相同的效果)。
2025-05-12 00:00:00
1039
blazor练手:借助GPT API KEY实现AI聊天
2024-12-20
一键配置.NET 8 SDK、VS Code 和 C# 配置环境
2024-12-20
python俄罗斯方块游戏
2024-12-19
python贪吃蛇小游戏
2024-12-19
实用PDF转PPT工具
2024-12-18
使用markdown写公众号的神器,写完还支持一键美化,一键复制到公众号、CSDN等平台
2024-11-13
图床软件使用教程,可以搭配gitee创建自己的图床仓库
2024-11-13
护眼bao/程序员必备/大神开发软件/win10系统使用
2020-07-28
计算机学科学习指导.zip
2020-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人