2012-08-15 20 views

回答

4

当然可以。它适用于类型,不适用于值。

的Boost.MPL库是编译时的算法,序列和元函数

0

在运行时间期间的O(1)指复杂性的通用,高层次C++模板元编程框架。通常,在O(1)时间内执行的过程据说在恒定时间中执行。在这种情况下,文档声称push_back执行所需的时间相对于列表的长度为常量;也就是说,它的执行时间将是一个固定的不变的时间,与列表的长度无关。另一方面,如果文档声明使用O(n)复杂性执行push_back,那么可能表示push_back的执行时间可以近似为列表长度的线性函数,其中列表的长度为n。据说这种复杂性类别中的函数在线性时间中执行。

维基百科有一个很好的介绍O(n)记法[1]。一篇很好的介绍性文章是Cormen,Lieverson和Rivest的“算法导论”。

+0

感谢您对O型符号详细说明。我很困惑这个运行时参数被应用于编译时方法。对我来说,问题是关于术语。这些东西实际上并不在运行时执行。我的意思是我们可以说关键字'class'也是O(1)。 – mirt 2012-11-08 13:12:53