【问题标题】:C/C++ declare 2D/3D array with ascii artC/C++ 用 ascii 艺术声明 2D/3D 数组
【发布时间】:2020-12-11 23:29:45
【问题描述】:

很久以前(10 多年)我看到了一种语法,它可以让你用“ascii art”声明数组。

类似这样的:

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

甚至可以为 3d 阵列绘制长方体。

很长一段时间以来,我的主要语言是 C++,所以我确信它是 C/C++。我的记忆告诉我,我在一些“C++ 已弃用的特性”文章中读到了它,但我怀疑这是否是标准的。也许这是某种语言扩展。

我似乎无法想出正确的词来谷歌它,这让我很困扰:)

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

【问题讨论】:

    标签: c++ c multidimensional-array syntax


    【解决方案1】:

    听起来很像 Eelis 的Multi-Dimensional Analog Literals(也链接了here)。简短的例子:

    #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);
    }
    

    【讨论】:

    • 是的!谢谢!
    猜你喜欢
    • 2016-10-12
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多