在C++11及更高版本中,final、override关键字以及=default和=delete语法提供了一些强大的特性,用于控制类的继承、显式说明覆盖关系和定义特殊成员函数。下面分别介绍这些特性。...
Pimpl(Pointer to Implementation)是C++中的一种设计模式,也是一种惯用法,用于实现封装和隐藏类的实现细节。Pimpl的主要思想是将类的具体实现细节放在一个单独的类中,然后在主类中使用指向该实现类的指针。这有助于减小头...
C++中的std::function是一个强大而灵活的工具,它允许我们将可调用对象(函数、函数指针、Lambda表达式等)包装成一个对象,使得我们可以像操作其他对象一样操作和传递可调用对象。本文将深入探讨std::function的使用方式、...
在一些应用的编写中我们有时候需要用到时间,或者需要一个“锚点”来确定一些数的值。在c/c++中有两个用来确定时间的函数:time/gettimeofday
有时候我们在编写函数时,可能不知道要传入的参数个数,类型 。比如我们要实现一个叠加函数,再比如c语言中的printf,c++中的emplace_last()。
在《堆问题分析的利器——valgrind的massif》一文中,我们介绍了如何使用massif查看和分析堆分配/释放的问题。但是除了申请和释放,堆空间还有其他问题,比如堆空间的使用率、使用周期等。通过分析这些问题,我们可以对程序...
当项目中引入了一些第三方或者开源库时,如果没有详细的文档说明,我们往往有种“盲人摸象”的感觉。如果只是简单的使用还好,但是这些代码需要被定制时,就需要深入阅读理解其实现。这个时候又往往有种“无从入手”的感觉。...
类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员时,需要使用 :: 作用域操作符指明成员属于哪个类域。
不属于左值的变量都是右值变量,经常出现在赋值语句的右边,例如:字面量,临时对象,临时值。
JetBrains 每年都会进行开发者生态系统调查,以了解开发者社区的概况,去年的结果终于出炉了,今天特意去看了一下想关注一下C++标准的使用情况。