上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: 引言 在C++中,模板是一种非常强大的特性,它们允许我们编写通用、可重用的代码。但有时,我们需要为某些特定的数据类型或类提供特殊的实现,这时就需要使用到模板特化(Template Specialization)和模板偏特化(Partial Template Specialization)。本文将深入 阅读全文
posted @ 2023-10-19 16:48 非法关键字 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 引言 在图像处理和图形渲染的世界里,SkiaSharp和WPF都是不可或缺的工具。然而,当需要在WPF的WriteableBitmap上绘制文本或图形时,如何优雅地结合这两个工具呢?在这篇文章中,我们将介绍一个简单的扩展方法,它允许你在WriteableBitmap上使用SkiaSharp进行文本绘 阅读全文
posted @ 2023-10-17 15:19 非法关键字 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 当使用vcpkg安装detours时,如果find_package未能找到它,这通常意味着这个库可能没有提供CMake的配置文件(*Config.cmake或Find*.cmake)。vcpkg通常会提供这些文件,但不是所有库都会这么做。 在这种情况下,您有以下几种选择: 手动指定库和头文件的路径: 阅读全文
posted @ 2023-10-13 15:20 非法关键字 阅读(90) 评论(0) 推荐(0) 编辑
摘要: QJsonDocument 以及相关的 JSON 类 (QJsonObject, QJsonArray, QJsonValue, QJsonParseError) 是在 Qt 5.0 中首次引入的。因此,Qt 5.0 是首次包含这些 JSON 处理功能的版本。在此之前,Qt 没有内置的 JSON 支 阅读全文
posted @ 2023-10-12 11:57 非法关键字 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 要在CMake中匹配不带扩展名的头文件,可以使用 file(GLOB ...) 和正则表达式来过滤结果。以下是一种方法,该方法首先收集目录下的所有文件,然后使用 list(FILTER ...) 命令和正则表达式来只保留没有扩展名的文件: # 使用GLOB收集目录下的所有文件 file(GLOB A 阅读全文
posted @ 2023-10-12 10:33 非法关键字 阅读(28) 评论(0) 推荐(0) 编辑
摘要: System.Threading.Tasks.Extensions 是一个用于扩展 .NET 中任务(Task)的库,它提供了一些额外的功能,特别是在异步编程方面。这个库引入了一些新的方法和功能,包括: 1. **ConfigureAwait**:它引入了 `ConfigureAwait` 方法,允 阅读全文
posted @ 2023-09-06 17:02 非法关键字 阅读(137) 评论(0) 推荐(0) 编辑
摘要: C++20引入了范围(Ranges)的新特性,这是一种现代化的、功能强大的处理序列数据的机制。范围(Ranges)的目标是提供一种更简洁、更易读、更安全且更高效的方式来操作数据序列,代替传统的迭代器和手动循环操作。这里是C++20 Ranges的一些详细解释: 1. **范围概念**: 范围(Ran 阅读全文
posted @ 2023-07-25 10:43 非法关键字 阅读(224) 评论(0) 推荐(0) 编辑
摘要: ## 模板基础知识 C++模板编程是一项强大的特性,它为泛型编程和元编程提供了丰富的功能,使得代码更具有通用性和可重用性。类型模板包括函数模板和类模板,基本上是C++开发人员接触模板编程的起点。 ```c++ // 函数模板 template T add(const T& a, const T& b 阅读全文
posted @ 2023-07-20 18:36 非法关键字 阅读(71) 评论(0) 推荐(0) 编辑
摘要: ### 折叠表达式 折叠表达式(Fold Expression)是C++17标准中引入的一个特性,它是一种用于处理可变参数模板展开的简洁语法。折叠表达式允许在编译时对参数包中的参数进行折叠操作,从而产生一个单一的值。这种特性在处理模板元编程和可变参数模板时非常有用,可以显著简化代码并提高代码的可读性 阅读全文
posted @ 2023-07-20 16:20 非法关键字 阅读(153) 评论(0) 推荐(0) 编辑
摘要: ### new/delete elision "new/delete elision" 是 C++ 中的一个优化技术,用于减少由于动态内存分配和释放而产生的性能开销。它发生在编译器优化的过程中,可以将某些动态内存分配和释放的操作消除,从而提高程序的执行效率。 具体来说,"new/delete eli 阅读全文
posted @ 2023-07-20 14:28 非法关键字 阅读(20) 评论(0) 推荐(0) 编辑
摘要: ### decltype `decltype`是C++11引入的一个关键字,用于获取表达式的类型而不实际执行该表达式。它是一种类型推导工具,可以在编译时确定表达式的类型,而不需要在运行时进行实际计算。 使用`decltype`,我们可以在编译时获取变量、函数、表达式等的类型,并将其作为一个类型来使用 阅读全文
posted @ 2023-07-20 11:00 非法关键字 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 在使用`git log`时显示的`commit`历史的内容如下 ```bash commit 023a85972244c2aed34c9fb6d696d03a07e147ce Author: your name Date: 2023-06-29 ``` ### 修改Git日期格式 要修改全局的Git 阅读全文
posted @ 2023-06-30 08:54 非法关键字 阅读(296) 评论(0) 推荐(0) 编辑
摘要: #### 1、 `static_cast`、`dynamic_cast`、强制转换 (`reinterpret_cast` 和 `const_cast`)、`qobject_cast`、`qstatic_cast` 以及 `qdynamic_cast` 的区别: 1. `static_cast`: 阅读全文
posted @ 2023-06-24 21:17 非法关键字 阅读(487) 评论(0) 推荐(0) 编辑
摘要: > 为了说明`QOverload`的使用,我们实现检测主机之间网络可达性,而Ping是一种用于检测主机之间可达性的网络工具 为了避免阻塞UI,你可以使用`QProcess`的异步方式执行Ping命令,并通过连接`QProcess`的信号来获取执行结果。这样可以在后台执行Ping操作的同时保持UI的响 阅读全文
posted @ 2023-06-13 10:58 非法关键字 阅读(210) 评论(0) 推荐(0) 编辑
摘要: ### 1、`git subtree`的使用简介 `git subtree`是一个Git命令,用于在单个Git仓库中管理多个项目。它允许您将一个项目的子目录作为独立的Git仓库处理,同时仍然保持在主仓库中。这使得在不使用子模块的情况下,更容易地将多个项目组合在一个仓库中。 以下是`git subtr 阅读全文
posted @ 2023-06-11 10:40 非法关键字 阅读(208) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 12 下一页