小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
通往MISRA C++:2023合规的智能路径

现代C++17在安全关键软件开发中至关重要,特别是在汽车、医疗和航空领域。MISRA C++:2023标准确保代码质量与安全合规,减少误报,提高开发效率。通过将静态分析嵌入开发环境,采用“左移”策略可以更快实现合规,确保高质量软件的快速交付。

通往MISRA C++:2023合规的智能路径

The New Stack
The New Stack · 2025-12-18T19:00:50Z
libMiniELF 1.0 — C++的最小ELF64解析器现已稳定

libMiniELF是一个轻量级的C++17库,用于读取ELF64文件,支持解析ELF头和符号。该库旨在提供无依赖的核心,适合系统工具和静态分析。目前版本为1.0.0,未来计划支持DWARF等功能。

libMiniELF 1.0 — C++的最小ELF64解析器现已稳定

DEV Community
DEV Community · 2025-05-28T17:26:34Z

《构建调试器》是Sy Brand的书,详细介绍如何从零开始构建调试器。书中假设读者已掌握调试器基本功能,使用C++17和CMake进行项目搭建,涵盖编译、计算机架构及调试器各方面,适合希望深入理解调试器的开发者。

书评:构建调试器

Neward & Asocciates, LLC Blog
Neward & Asocciates, LLC Blog · 2025-05-23T00:00:00Z
在C++17中使用Eigen库时如何修复错误

在C++17项目中使用Eigen库时,可能会遇到模板参数和未声明变量的错误。这通常与编译器设置、版本兼容性或项目配置有关。解决方法包括确保使用C++17标准、更新Eigen库、检查依赖项、正确包含头文件和审查项目结构。保持依赖项更新和配置正确可改善编译体验。

在C++17中使用Eigen库时如何修复错误

DEV Community
DEV Community · 2025-05-13T15:30:21Z
std::any 的性能开销:基于 libstd++ 源码分析

C++17 引入的 std::any 允许存储任意类型,但灵活性带来了性能开销。其通过 _Storage 存储数据和 _M_manager 管理类型信息,采用小对象优化以提升性能。尽管方便,std::any 仍存在内存浪费和额外开销。

std::any 的性能开销:基于 libstd++ 源码分析

编程沉思录
编程沉思录 · 2025-03-04T01:41:54Z
C/C++中的未使用变量:原因及处理方法?

在C/C++代码审查中,未使用的变量常见,原因包括代码错误、重构和条件编译。可以通过编译器警告(如GCC和Clang选项)检测未使用变量。为抑制特定变量的警告,可使用void强制转换或宏定义。C++17引入[[maybe_unused]]属性,帮助标识可能未使用的变量。尽管未使用变量常被清理,但在调试阶段保留它们有时是有益的。

C/C++中的未使用变量:原因及处理方法?

DEV Community
DEV Community · 2025-01-03T14:54:55Z

本文介绍了如何利用C++17特性实现编译时类型映射,通过定义类型对和类型映射结构,将不同键类型映射到相应值类型。示例展示了处理重复键和查找类型的方法,提供了通用的编译时类型映射方案,便于维护和扩展。

C++ 编译时类型映射

Lei Mao's Log Book
Lei Mao's Log Book · 2024-12-22T08:00:00Z

C++17引入了类模板参数推导、constexpr lambda、内联变量、嵌套命名空间和结构化绑定等新特性。新库特性包括std::variant、std::optional、std::any和std::string_view,增强了类型安全和可选值管理。此外,支持并行算法和文件系统操作,提升了性能和便利性。

现代C++特性 - C++17

shrik3
shrik3 · 2024-12-15T19:43:04Z

本文概述了现代C++(C++11、C++14、C++17和C++20)的新特性,包括协程、概念、三路比较、指定初始化器、模板语法和范围基于的for循环。C++20引入了协程和概念,增强了类型安全和代码可读性;C++17增加了std::optional和std::variant等库特性;C++14和C++11则引入了移动语义和泛型lambda等功能。这些特性旨在提高代码的效率和可维护性。

现代C++特性概述

shrik3
shrik3 · 2024-12-15T19:43:04Z

本文讨论了如何通过标签派发实现一个计算函数耗时的接口,该接口根据函数是否有返回值,分别返回耗时和返回值或仅返回耗时。文章介绍了标签类型的定义及其在函数重载中的应用,强调了标签派发的优势,并提到在C++17中可以使用更简单的实现方式。

对ToB和ToC的感受

BBing's Blog
BBing's Blog · 2024-10-18T07:17:46Z
使用C++17简化代码

C++17是一个重大更新,引入了一些新功能来简化代码编写。其中一些功能包括内联变量、结构化绑定、if和switch语句的初始化器、类模板参数推导、编译时if constexpr、折叠表达式和文件系统库。这些功能有助于使代码更简洁和可读。

使用C++17简化代码

tlanyan
tlanyan · 2024-09-09T02:20:19Z
自 Visual Studio 2022 17.8 起的新检查

Visual Studio 2022 17.8新增了多项安全检查,包括C++17以上迁移、查找拼写错误、指针比较、InterlockedCompareExchange误用、闰年检查等。这些检查能够提高代码质量和安全性。

自 Visual Studio 2022 17.8 起的新检查

C++ Team Blog
C++ Team Blog · 2024-05-03T16:10:22Z
The History of constexpr in C++! (Part Two)

C++中的constexpr经历了多次演变,从模板偏特化到引入if constexpr和constexpr lambda,逐步支持编译期计算。C++17和C++20引入了动态内存分配和虚函数调用,使得constexpr函数更强大。未来,constexpr可能会支持更多功能,如memcpy等函数的编译期执行。

The History of constexpr in C++! (Part Two)

Articles on ykiko's blog
Articles on ykiko's blog · 2024-02-22T22:15:32Z
C++ 中的 relocate 语义

C++中有两种特殊构造函数:拷贝构造函数和移动构造函数。拷贝构造函数用于复制对象,移动构造函数用于转移资源以减少开销。C++11引入了移动构造,C++17优化了对象扩容过程。目前正在讨论引入重定位构造函数,以更高效地处理对象移动,尤其是对于不含自引用的类型,但当前标准尚未支持。

C++ 中的 relocate 语义

Articles on ykiko's blog
Articles on ykiko's blog · 2024-01-25T17:22:29Z
跨越 7 年的接力赛:获取 C++ 结构体字段数量

C++17 引入了结构化绑定特性,便于访问结构体成员。通过递归遍历结构体成员,可以实现聚合类型的反射功能。然而,当结构体字段数量超过2时,会出现编译错误。作者提出了一种方法,利用模板和特性检测自动计算结构体字段数量,并解决了左值引用、默认构造函数和数组等问题。最终实现了对复杂结构体的成员计数,但在不同编译器间存在不一致性,且效率较低。

跨越 7 年的接力赛:获取 C++ 结构体字段数量

Articles on ykiko's blog
Articles on ykiko's blog · 2023-12-26T04:45:30Z
std::variant 很难用!

C++17 引入了 std::variant,作为一种和类型(sum type),与 C 语言中的 union 不同,std::variant 处理对象的构造和析构,避免手动管理内存。通过 std::visit,可以简化对不同类型的操作,但 C++ 仍缺乏模式匹配功能,使用较为复杂。

std::variant 很难用!

Articles on ykiko's blog
Articles on ykiko's blog · 2023-07-25T15:19:25Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码