06 2021 档案
摘要:在C++语言中,同一范围内相同名称的不同声明称为重载,只有函数声明可以重载,对象或类型声明都不能重载。那是不是所有满足签名相同的函数就一定可以被重载呢? 一、函数重载适用范围 必须在同一范围(scope),比如同一命名空间或类中。不同命名空间或类中的同名函数不能称为函数重载。下面通过代码进行验证。
阅读全文
摘要:在学习C++泛型编程或者接触过STL源码的同学,一定对模板声明和实现放置在一起编写印象非常深刻。相交于C++非泛型编程,我们习惯上将函数的声明和实现分开存放,一来是代码更加“干净”,二来即使提供给三方使用也不会泄漏源码实现。那C++模板声明和实现能够分离吗? 一、C++模板声明和实现不分离 下面是N
阅读全文
摘要:RAII(资源获取即初始化)机制给我们的编程带来了极大的帮助,C++标准库中的std::lock_guard就使用到了该机制。它的作用是:guard对象在构造的时候将资源初始化好,在guard对象析构的时候将资源自动释放掉;完美的解决了过去C++程序员需要手动或异常情况下管理资源释放的问题。那么"s
阅读全文
摘要:在学习C++泛型编程的时候,是不是非常想知道你实例化的模板函数或模板类在编译器推导下是什么样子?今天就给大家简单介绍一个在线编译器:C++ Insights (cppinsights.io),它能够满足你的需求。 一、常用编译器的痛点 如下一个代码示例: 1 template <typename T
阅读全文

浙公网安备 33010602011771号