用ascii艺术字声明C/C++的2D/3D数组

3

很久以前(10年以上),我见过一种可以使用“ASCII艺术”声明数组的语法。

像这样:

//Declares 5x3 2d array
int myArray[] = #####
                #   #
                #####

甚至可以为三维数组绘制一个长方体。

我很长一段时间的主要编程语言是C ++,因此我确信它是用C / C ++编写的。我的记忆告诉我,在某个“C ++弃用功能”文章中读到过这篇文章,但我怀疑这从未成为标准。也许它是某种语言扩展。

看来我无法想出正确的单词来搜索它,这让我很困扰:)

有人知道是否曾经以某种形式存在这样的语法吗?

1个回答

3

听起来非常像Eelis的多维模拟字面量(也在这里链接)。短例子:

#include <cassert>

#include "analogliterals.hpp"
using namespace analog_literals::symbols;

int main()
{
    auto l = I---------I;

    auto r = o---------o
             |         !
             !         !
             o---------o;

    assert(l.length == 4);
    assert(r.width == 4 && r.height == 2);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接