-
C++初学者必须掌握的10个特性(中)
Strongly-typed enums 强类型枚举传统的C++枚举类型存在一些缺陷:它们会将枚举常量暴露在外层作用域中(这可能导致名字冲突,如果同一个作用域中存在两个不同的枚举类型,但是具有相同的枚举常量就会冲突),而且它们会被隐式转换为整形,无法拥有特定的用户定义类型。在C++11中通过引入了一...
05月15日[编码文章]浏览:13
-
Boost.Signals开发者指南:C++事件处理的优雅解决方案
引言C++开发中,实现组件间松耦合通信一直是一个挑战。传统的回调函数和观察者模式虽然可行,但往往导致代码复杂且难以维护。Boost.Signals库提供了一种优雅的解决方案,通过信号与槽机制实现对象间的高效通信,同时保持代码的清晰和可维护性。本文将深入探讨Boost.Signals库的核心特性、使用...
05月15日[编码文章]浏览:10
-
C++11 Lambda表达式简录
或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Stud...
05月15日[编码文章]浏览:12
-
C++中常见贯用的编程技巧
C++中有许多常见且贯用的编程技巧和设计模式,帮助开发者提高代码的可读性、可维护性以及性能。1. RAII(Resource Acquisition Is Initialization)...
05月15日[编码文章]浏览:11
-
C++的新特性:Lambda
C++11 引入的 Lambda 函数是一种用于创建匿名函数的特殊语法。Lambda 函数提供了一种更简洁、直观的方式来定义函数对象,它可以在需要时快速定义并使用函数,无需显式地定义一个具名函数。Lambda 函数的语法如下:[capture-list](parameter-list ->...
05月15日[编码文章]浏览:12
-
C++14起引入的泛型lambda表达式以及C++20起引入的模板lambda
C++11标准起就开始引入了一种现代化的编程语言语法特性——lambda表达式。随后,Java 8、JavaScript ES 6、Python等编程语言也都纷纷加入了这一特性。而对于C语言,Clang编译器的C语言语法扩展中也由Apple贡献了其创新性的...
05月15日[编码文章]浏览:11
-
C++20 新特性(11):lambda对this的捕捉改进
在 C++11 标准中增加了 lambda 表达式,先简单回顾一下 lambda 中的缺省捕捉,再看 C++20 对 this 的捕捉的改进。lambda表达式的缺省捕捉lambda表达式中,可以显式捕捉指定的变量,也可以进行隐含的缺省捕捉,缺省捕捉有两种方式:...
05月15日[编码文章]浏览:15
-
C++之Lambda表达式
什么是Lambda表达式?C++11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda匿名函数的格式:冒号前是参数,可以有多个参数,用逗号隔开。冒号右边为表达式。Lambda返回值是一个函数的地址,也就是函数对象。...
05月15日[编码文章]浏览:15
-
-
Visual Studio Package 插件开发(Visual Studio SDK)
背景 这段时间公司新做了一个支付系统,里面有N个后台服务,每次有更新修改,拷贝打包发布包“不亦乐乎”。。。于是我想要不要自己定制个打包插件。 部分朋友可能会认为,有现成的可以去找一个,干嘛不用持续集成工具啊。 1、公司没用,也不打算用...
05月15日[编码文章]浏览:13