百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
I

icecream-cpp

> 编程语言
开源

永远不要再使用 cout/printf 进行调试

748 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

永远不要再使用 cout/printf 进行调试

Icecream-cpp

[![CI.badge]][CI.link] [![LICENSE.badge]][LICENSE.link] Icecream-cpp 是一个小型(单个头文件)库,用于帮助在 C++11 中进行打印调试。 稍后。 跟踪执行流程:

cpp
auto roll_attack(int roll) -> void
{
    std::cout  void
{
    IC();
    if (roll == 20)
        IC();
    else
        IC();
}

并会打印出类似这样的内容: ic| combat.cpp:12 在 "void roll_attack(int)" 中 ic| combat.cpp:14 在 "void roll_attack(int)" 中 检查变量:

cpp
std::cout {U'α', U'β', U'γ', U'δ', U'ε', U'ζ'};
IC_F("[1:-2]", v);

将打印: ic|v: [1:-2]->['β', 'γ', 'δ'] 调试范围管道。插入 IC_V() 以检查数据 流经 STL 范围 或 Range-v3 管道:

cpp
auto rv = std::vector{1, 0, 2, 3, 0, 4, 5}
    | vws::split(0)
    | IC_V()
    | vws::enumerate;

在迭代 rv 时,我们会看到:

ic| range_view_63:16[0]: [1] ic| range_view_63:16[1]: [2, 3] ic| range_view_63:16[2]: [4, 5] 这本书的灵感来自原版 [Python] IceCream](https://github.com/gruns/icecream) 库。

内容

  • 理由
  • 安装
    • 快速入门
  • 基本用法
    • 直接打印
    • 范围视图流程
    • 返回值和 Icecream 宏应用
    • 输出格式化
  • 配置
  • 打印策略
  • 第三方库
  • 兼容性
  • 参考
    • C 字符串
    • 字符编码
    • 宏禁用
  • 陷阱

Icecream-cpp 是一个临时使用的库。它是专为开发和调试期间使用的,而不是用于发布产品中。它补充了调试器,而不是取代它们,有时打印调试只是更快或更方便。

Try it at Compiler Explorer!

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++cppcpp11cpp14cpp17

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言