# 使用 Homebrew 安装 doublecpp

查看 doublecpp 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:doublecpp
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install doublecpp
```

  证据: local Homebrew formula metadata

## 软件包事实

- **软件包键:** brew:doublecpp
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/doublecpp>
- **版本:** 0.6.3
- **来源摘要:** Double dispatch in C++
- **主页:** <https://doublecpp.sourceforge.net/>
- **上游文档:** <https://doublecpp.sourceforge.net/>
- **许可证:** GPL-2.0-or-later
- **源码归档:** <https://downloads.sourceforge.net/project/doublecpp/doublecpp/0.6.3/doublecpp-0.6.3.tar.gz>
- **已生成:** 2026-07-08T18:08:21+00:00

## 可执行文件

- doublecpp (cli)
- doublecpp (别名)

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 0.6.3
- 本地数据: OK
- 上游仓库: https://doublecpp.sourceforge.net/
- 信息: No package-manager update timestamp was available.
- 信息: Release/tag comparison is only available for GitHub repositories.
## 项目历史与用法

Doublecpp is a small SourceForge-era C++ preprocessor by Lorenzo Bettini for experimenting with double dispatch and multimethod-style branching in C++. It adds a linguistic construct that is translated into ordinary single-dispatch C++ code.

### 项目历史

The project homepage connects Doublecpp to academic work by Lorenzo Bettini, Sara Capecchi, and Betti Venneri on translating double dispatch into single dispatch. The homepage cites a 2004 workshop paper, a 2005 ENTCS publication, and a 2006 Software: Practice and Experience article, placing the tool in the early-2000s C++ language-extension and generative-programming scene.

Doublecpp was distributed as GPL free software with classic autotools build steps: `./configure`, `make`, and `make install`. Its official page also documented anonymous CVS access on SourceForge, which is a strong historical marker of its era.

### 采用历史

SourceForge's file feed shows releases from 2006 through 2009, ending with doublecpp 0.6.3. Homebrew keeps it installable as a formula, but there is little evidence of broad modern adoption beyond package preservation and occasional C++ multimethod interest.

The project is best understood as a niche research-to-tooling artifact rather than a mainstream C++ development dependency.

### 使用方式

Doublecpp preprocesses C++ sources that use its double-dispatch construct, then emits C++ code where the correct branch is selected dynamically according to the runtime type of the receiver and first argument.

The homepage warned users to build generated code with GCC 3.x because earlier GCC versions had problems with Doublecpp output. That note is now mostly historical, but it shows how closely the tool was tied to compiler behavior of its time.

### 为什么软件包爱好者会关心

Doublecpp is interesting to package historians because it preserves a small language-extension experiment from the SourceForge/CVS/autotools period. It is the kind of package that survives in Homebrew not because everyone needs it, but because long-tail developer tools matter to reproducibility and software archaeology.

It also illustrates a recurring package-manager role: keeping academic or experimental compilers and preprocessors reachable long after their primary research moment has passed.

### 时间线

- 2004: Double-dispatch translation work is presented at WOOD 2004.
- 2006: Doublecpp 0.6.1 source and PDF documentation are published on SourceForge.
- 2007: Doublecpp 0.6.2 source and documentation are published.
- 2009: Doublecpp 0.6.3 tarball is published on SourceForge.

### Related projects

- CLOS-style multimethods and multiple dispatch are the language-design ideas Doublecpp brings into C++ by preprocessing.
- Autotools, flex, bison, GCC, Cygwin, and SourceForge CVS are the surrounding toolchain named by the official page.
- Modern C++ alternatives are usually implemented with templates, visitors, variants, or runtime type dispatch rather than a standalone preprocessor.

### 来源

- <https://doublecpp.sourceforge.net/>
- <https://sourceforge.net/projects/doublecpp/rss?path=/>
- <https://sourceforge.net/projects/doublecpp/>
- <https://prdownloads.sourceforge.net/doublecpp/doublecpp.pdf>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** doublecpp
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable


## 相关链接

- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/zh-hans/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/zh-hans/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/zh-hans/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [metashell](https://www.automicvault.com/zh-hans/pkg/brew/metashell/) - Shares av.db curated category or tags: cli, cpp, developer-tools, programming-languages.
- [ratfor](https://www.automicvault.com/zh-hans/pkg/brew/ratfor/) - Shares av.db curated category or tags: cli, developer-tools, preprocessor, programming-languages.
- [cdecl](https://www.automicvault.com/zh-hans/pkg/brew/cdecl/) - Shares av.db curated category or tags: cli, developer-tools, programming-languages.
- [cryptol](https://www.automicvault.com/zh-hans/pkg/brew/cryptol/) - Shares av.db curated category or tags: cli, developer-tools, programming-languages.
- [gawk](https://www.automicvault.com/zh-hans/pkg/brew/gawk/) - Shares av.db curated category or tags: cli, developer-tools, programming-languages.
- [mcpp](https://www.automicvault.com/zh-hans/pkg/brew/mcpp/) - Shares av.db curated category or tags: cli, cpp, developer-tools, preprocessor.
- [abi-dumper](https://www.automicvault.com/zh-hans/pkg/brew/abi-dumper/) - Shares av.db curated category or tags: cli, cpp, developer-tools.
- [activemq-cpp](https://www.automicvault.com/zh-hans/pkg/brew/activemq-cpp/) - Shares av.db curated category or tags: cli, cpp, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/doublecpp.yml](https://github.com/automic-vault/db/blob/main/combined/doublecpp.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
