小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • 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 提供了灵活的类型擦除,但性能开销较大。其通过 _M_storage 存储数据和 _M_manager 管理类型信息,小对象在栈上存储,大对象在堆上分配,导致内存利用率低。总体而言,尽管灵活性高,但在内存和性能上存在一定的开销。

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

编程沉思录
编程沉思录 · 2025-03-04T09:41:54Z
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中的新东西

C++17引入了std::string_view,允许以引用方式处理字符序列,避免内存分配。它开销小、速度快,但使用时需确保引用的字符序列有效。与std::string相比,string_view的字符序列是只读的,不保证以空字符终止。

c++17中的新东西

Sekyoro的博客小屋
Sekyoro的博客小屋 · 2024-10-21T14:14:30Z

本文讨论了如何通过标签派发实现一个计算函数耗时的接口,该接口根据函数是否有返回值,分别返回耗时和返回值或仅返回耗时。文章介绍了标签类型的定义及其在函数重载中的应用,强调了标签派发的优势,并提到在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
C++ std::optional 使用教程

C++ 17引入了std::optional,它表示一个可能有值也可能没有值的对象。它可以用于简化代码和处理值可能存在或不存在的情况。std::optional可以使用std::nullopt或{}进行构造,可以使用emplace或std::make_optional插入值。可以使用.value()或*运算符访问值。可以使用has_value或与std::nullopt进行比较来检查值的存在。如果值不存在,可以使用value_or设置默认值。如果在没有值的情况下调用.value(),它将抛出std::bad_optional_access异常。

C++ std::optional 使用教程

Yunfeng's Simple Blog
Yunfeng's Simple Blog · 2023-06-30T14:39:41Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码