Tag: C++
All the articles with the tag "C++".
-
编译防火墙—— C++ 的 Pimpl惯用法解析
Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以避免在头文件中暴露私有细节(见下图 1),因此是促进 API 接口与实现保持完全分离的重要机制。但是 Pimpl 并不是严格意义上的设计模式(它是...
-
CMake 语言 15 分钟入门教程
cmake 是一个跨平台的编译安装工具,可以用简单的语句来描述所有平台的编译安装过程。 本文介绍 cmake 的基础语法。 第一个例子 使用任意的文本编辑器,输入: 然后保存为 文本文件,执行: 输出: > Hello world! 所有变量都是字符串 在 cmake 中,所有变量都是字符...
-
C++ Lambda 学习笔记
C+中,对于一个对象或一个表达式,如果可以对其使用调用运算符(),则称它是可调用的。即,如果 是可调用的,则可以这样使用: 其中, 是一个逗号分隔的一个或多个参数的列表。 C+中可调用对象除了我们熟悉的函数或函数指针外,还包括函数对象以及 lambda 表达式。 本文重点讲述 lambda ...
-
C++ 函数对象学习笔记
函数对象本质上是一个类对象,它重载了函数调用运算符 。调用运算符的函数体实现函数的功能。 例如,我们定义类 : 类 包含调用运算符的重载,调用运算符的函数体实现了函数的功能:小于操作。 调用运算符的定义第一次看起来有点令人迷惑,因为出现了两个小括号。第一个小括号: 告诉编译器我们在重载调用运...
-
C++虚函数表剖析
关键词:虚函数,虚表,虚表指针,动态绑定,多态 一、概述 为了实现 C+的多态,C+使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。 二、类的虚表 每个包含了虚函数的类都包含一个虚表。 我们知道,当一个类(A)继承另一个类(B)时,类 ...