Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
上个月关闭。
Improve this question
我记得一个基于模板和运算符重载的库(我认为是单个 header ),该库允许可视化代码中的2D和3D形状,并具有以下表达式:
我有一个到此库的链接,但找不到该链接...(我可能已将其添加为书签,但找不到该书签)。
Google也没有太大帮助,至少在我的搜索关键字方面也没有。
有人知道我在说什么吗?
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
上个月关闭。
Improve this question
我记得一个基于模板和运算符重载的库(我认为是单个 header ),该库允许可视化代码中的2D和3D形状,并具有以下表达式:
assert( (I-----o
| |
o-----I).area() == (I---o
| |
| |
o---I).area() );
还有3D形状的更复杂的内容。我有一个到此库的链接,但找不到该链接...(我可能已将其添加为书签,但找不到该书签)。
Google也没有太大帮助,至少在我的搜索关键字方面也没有。
有人知道我在说什么吗?
最佳答案
感谢Story Teller,该链接为:
http://www.eelis.net/C++/analogliterals.xhtml
在这里用 fork :
https://github.com/Quuxplusone/analog-literals
一些实际的代码示例:
unsigned int c = ( o-----o
| !
! !
! !
o-----o ).area;
assert( c == (I-----I) * (I-------I) );
assert( ( o-----o
| !
! !
! !
! !
o-----o ).area == ( o---------o
| !
! !
o---------o ).area );
并使用3D形状: assert( top( o-------o
|L \
| L \
| o-------o
| ! !
! ! !
o | !
L | !
L| !
o-------o ) == ( o-------o
| !
! !
o-------o ) );
assert( ( o-------------o
|L \
| L \
| L \
| o-------------o
| ! !
! ! !
o | !
L | !
L | !
L| !
o-------------o ).volume == ( o-------------o
| !
! !
! !
o-------------o ).area
* int(I-------------I) );
其他SO帖子中也提到了该问题,并在问题中添加了注释。关于c++ - 使用模板可视化代码中的2D和3D形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64336612/
10-08 22:04