摘要:
在学习C++泛型编程的时候,是不是非常想知道你实例化的模板函数或模板类在编译器推导下是什么样子?今天就给大家简单介绍一个在线编译器:C++ Insights (cppinsights.io),它能够满足你的需求。 一、常用编译器的痛点 如下一个代码示例: 1 template <typename T 阅读全文
摘要:
C++面向对象中的继承模式有三种:公有继承(关键字public)、保护继承(关键字protected)和私有继承(关键字private)。在开发中以公有继承占绝大多数情况,保护和私继承使用情况很少。写这篇博客介绍私有继承,源于一个问题。下面给大家详细道来。 一、限制C++接口问题 有一个Rectan 阅读全文
摘要:
在现代C++中,我们一般使用std::bind获取lambda表达式构造一个函数对象,然后直接调用或者作为形参供其他函数调用。那同学们是否有使用过std::mem_fn这个模板函数,我们该如何正确使用它? 一、std::mem_fn作用 std::mem_fn官方文档介绍是这样的:std::mem_ 阅读全文
摘要:
在PCM音频初见 - blackstar666 - 博客园 (cnblogs.com)中我们概况性地讨论PCM中几个重要的参数,接下来就好好聊聊声道的一些事情。 一、声道是什么 声道是指在不同空间位置录制或播放声音时采集或播放的独立音频信号。通俗的讲就是:声道数就是声源总数,比如:录制棚内在不同方位 阅读全文
摘要:
我们经常听的音乐文件格式主要有:mp3,flac和wav等,但是大家有想过这些音频文件通过音频解码器解码后的数据格式是怎么样的?废话不多说,接下来介绍能被设备播放的音频原始数据格式PCM。 一、PCM音频 PCM音频,中文名称:脉冲编码调制,是用于将波形表示的模拟音频信号转换为数字1和0表示的数字音 阅读全文
摘要:
同学们是否有听说过奇异递归模版模式(CRTP)?听说过的同学大致也知道其代码编写格式是怎么样的?但是,同学们是否有弄清楚过其是怎么达到这种效果的?接下来就简单聊聊! 一、奇异递归模板模式 下面是奇异递归模板模式的一般编写格式: 1 template<typename T> 2 class Base 阅读全文
摘要:
当你引入#include <Windows.h>头文件后,再使用一些标准库中的函数时,是否会出现编译错误的问题?接下来就简单窥探下具体原因。 一、“陷阱”在哪? 看如下的几行简单代码: 1 #include <Windows.h> 2 3 int main() 4 { 5 std::max(1, 1 阅读全文
摘要:
在使用第三方库的时候,一般会提供两种格式的库文件:静态库(lib)和动态库(dll)。在使用动态库的时候,需要这个dll和头文件外,还需要一个lib文件(该文件和静态lib不同,其只是包含了dll中导出函数的符号);但是如果只有这个dll库文件,我们该如何办呢?这就涉及到Windows动态加载相关知 阅读全文
摘要:
玩过C++shared_ptr类型的智能指针的同学,是否有接触过std::enable_shared_from_this,它的出现为我们提供哪些编程方面的便利呢?下面就介绍它。 一、std::enable_shared_from_this的作用 按照enable_shared_from_this - 阅读全文