|
|
1
9
除了少数例外,C++传统上是使用类库扩展的,而不是新的关键字。使用这样的库可以很容易地实现状态机,所以我认为你的建议没有太多机会。 我在你的提案中看到的一个问题是使用“goto”去另一个州。如果我想在状态转换中在自己的代码中使用goto,会发生什么? |
|
|
2
2
在发展你所做的方面做得很好。你可能已经完成了一些事情,但我怀疑它是否会进入C++。大多数使其成为语言本身的更改只是为了允许人们编写更有用、功能更强大的库。 这里有一个为状态机提供支持的库。我还没有尝试过,但你可能会感兴趣,你可以将你的想法与这样的图书馆结合起来,让其他人利用它。 http://www.boost.org/doc/libs/1_34_1/libs/statechart/doc/index.html
让新想法不断涌现。 |
|
|
3
2
您应该看看另一位智能开发人员是如何将状态机支持添加到类C语言的: UnrealScript Language Reference . 见“国家”一节。
|
|
|
4
1
这是一个有趣的想法,但我认为你最好有机会创建自己的特定于域的语言,而不是正式扩展C++的状态机。C++是一种非常通用的编程语言。我认为Boost已经证明C++足够灵活,可以使用库来很好地实现大多数功能。它也发展得非常缓慢,以至于标准C++仍然没有内置线程支持,如2009,(计划在0x)。所以委员会不太可能考虑这一附加时间。 |
|
|
5
1
我也不确定如何提供更好的语义检查。我怀疑您是否可以应用许多有用的代码优化。
然而,为了允许更好的优化和语义检查,您还应该用一个新的关键字(例如。
然后编译器可以提取可能的转换列表。 |
|
|
6
1
就我个人而言,我将扩展枚举语法:
很自然,现在可以在头文件中声明事件,并在.cpp文件中定义它们。我甚至不需要在这里提出语法,任何C++程序员都可以在这里猜到。为组合状态添加一点继承语法:
您的提案几乎已经到了这个地步,没有任何新的关键字,所有这些都是通过重用已经熟悉的语法实现的。 |
|
dallin · 数组中的逗号运算符是否有名称? 12 年前 |