热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ReSharperC++2021.2,以帮助您实现代码的现代化

ReSharperC2021.2,以帮助您实现代码的现代化ReSharperC添加了新的inlay提示,使隐藏的类型转换在编辑器中可见,以便您了解它们的

ReSharper C++ 2021.2,以帮助您实现代码的现代化

  ReSharper C++添加了新的 inlay 提示,使隐藏的类型转换在编辑器中可见,以便您了解它们的潜在性能和正确性影响。

  ReSharper C++第二个检查建议用 标记可以在编译时评估的变量constexpr,这可以带来更快的性能和更好的编译时检查。

  现代化检查- 此版本包括一些新的检查,以帮助您实现代码的现代化。

  可以使用结构化绑定代替tie(..)- 从 C++17 开始,您不再需要使用std::tie()或boost::tie()解包元组或对 - 结构化绑定声明可帮助您简化代码。

  ReSharper C++现在可以使用模板别名或变量模板来简化类型特征- C++14 别名模板让您可以缩短 C++11 类型特征表达式。

  std::size现在可以使用- 此检查建议将其std::size用作类型安全的替代方案,以替代容易出错的 C 习语来计算数组大小。

  可以使用零初始化代替memset- 零初始化导致更简洁的代码并防止各种memset相关错误。

  内联函数重构- 新的内联函数重构可让您快速用函数体替换函数调用。ReSharper C++ 将执行必要的转换、处理所有名称冲突并重新格式化生成的代码。

  ReSharper C++您现在将看到隐式转换的特殊图标。或者,您可以选择将转换显示为文本提示。

  ReSharper C++ 现在显示不同类型类类型转换的提示,包括对象复制、使用转换构造函数的对象初始化或聚合初始化和对转换运算符的调用。

  您现在还可以为内置类型之间的标准转换启用提示,例如,可能会丢失精度或更改类型符号的数字类型之间的转换。

  不变性检查

  与不变性相关的分析可以帮助您保持代码的可读性和正确性。通过添加两项新检查,ReSharper C++ 现在涵盖了 C++ 核心指南的常量和不变性部分中的所有规则。

  第一个新检查扩展了对引用和指针类型的函数参数的不变性分析。ReSharper C++ 现在会通知您是否可以将指针或引用传递给const,从而保证函数不会修改相应的函数参数。

  编码帮助

  默认情况下,ReSharper C++ 生成具有空主体的函数,但现在您可以指定生成的函数是应该抛出std::logic_error、返回默认值还是包含不可编译的代码。ReSharper C++ 还将自动从覆盖函数的主体调用基本函数。

  ReSharper C++添加了一个新的上下文操作,可让您将任何字符串转换为 C++11 原始字符串文字,当字符串文字包含特殊字符时更易于阅读。转换是双向的,因此您也可以将原始字符串文字转换为常规字符串文字。

  如果您想快速查阅 cppreference.com 以了解标准库类或函数的详细信息,现在可以单击快速文档弹出窗口 ( Ctrl+Shift+F1)中的以在浏览器中打开相应页面。

  当您按下Backspace空行或插入符号左侧带有空格或制表符的行时,ReSharper C++ 现在可以将插入符号置于适当的缩进位置,而不是一次将其移回一个位置。

  虚幻引擎- ReSharper C++ 现在支持使用来自虚幻启动器和 GitHub 源的虚幻引擎 5。

  在虚幻引擎项目的 .Build.cs 和 .Target.cs 文件中,ReSharper C++ 的代码完成功能现在会建议可用模块和插件的列表。

  添加模块或插件后,缺少依赖项的新检查将突出显示任何必须在 .uproject 或 .uplugin 文件中引用的内容。使用随附的快速修复程序,只需单击一下即可将新模块和插件添加到项目文件中。

  在生成覆盖函数的定义时,ReSharper C++ 现在将使用惯用的 Super 类型别名从生成的主体调用覆盖函数。

  ReSharper C++改进了冷启动的性能和内存使用。ReSharper C++ 现在索引虚幻引擎代码库的速度提高了 10%。

  其他变化

  捆绑的 Clang-Tidy 已更新到 Clang 12,添加了来自最新 LLVM 版本的新检查。它在复杂文件中的性能,特别是在 C++20 项目中的性能得到了改进。

  添加了一项新检查,当您将无符号表达式与 0 进行比较时会发出警告,这可能会导致无限循环或无法访问的代码。


推荐阅读
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
author-avatar
mobiledu2502905277
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有