策略模式(设计模式——策略模式)大家耳熟能详,简言之,策略模式基于运虚表指针实现多态,但运行时的多态是有时间成本的。对于性能要求高的场景,策略模式反而不是最优选择。...
在软件开发中,设计模式是提高代码可读性、可维护性和可扩展性的重要工具之一。其中,策略模式是一种行为型设计模式,它允许在运行时选择不同算法的行为,并支持不同策略的无缝切换。...
在 C++ 中,枚举类型是一种非常常见的数据类型,它允许程序员定义一组命名的常量。然而,标准的 C++ 枚举在某些方面存在限制,比如无法直接将枚举值转换为字符串。这就导致枚举型变量对于书写日志着实不够友好,如果仅仅将枚举...
今天研读map的源码时,发现之前的代码在使用map时出现了性能问题,源码简化如下,
在 C++20 中引入的 std::format 是一个强大的工具,用于格式化字符串。它提供了一种简洁、类型安全且灵活的方式来构建格式化字符串,同时避免了传统的格式化函数带来的许多问题。...
概念(concepts),作为模板元编程(类模板和函数模板)的一部分,提出对模板实参的要求,进而影响模板的特化和函数重载。在编译期对实参求值,检测实参是否满足概念所提出的要求。...
不同于之前的6种比较运算符:<、>、==、!= <=、>=。C++20提出一种的新的比较运算符——飞船运算符。
其实const的用法在八股文系列的文章中很常见,但是总是过于零散,总结不是很全面,遂整理成文,以供大家享用,如果有不够全面还请大家补充,万分感谢。...
在函数的开始位置记录下当前时刻,在函数的结尾处再次记录下当前时刻,两者做差即为函数耗时。
随着多核处理器的普及,并发编程在提高应用程序性能方面变得越来越重要。C++标准库提供了多线程支持,但直接使用std::thread进行大规模并发编程无疑增加了线程创建、销毁的开销。...