13

我读了很多关于如何在 C++ 中实现多方法的文章:

  1. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1529.html
  2. http://www.codeproject.com/KB/recipes/mmcppfcs.aspx
  3. http://lambda-the-ultimate.org/node/2590
  4. http://parasol.tamu.edu/people/peterp/omm/

为什么 C++ 中没有多方法?

为什么它们不受 C++ 标准的支持?

4

3 回答 3

35

直接从马嘴里说:

“我遗憾地拒绝了多种方法,因为我喜欢这个想法,但找不到一种可以接受的形式来接受它。”

Bjarne Stroustrup,C++ 的设计和演变(p297)

然后:

“多方法是 C++ 中有趣的假设之一。当时我能否设计和实现它们? -方法?”

(p298f)

一般来说,每当你想知道为什么某些特定的 C++ 特性被实现、没有被实现或以现在的方式实现时,如果该特性早于标准化,你就想阅读 D&E。

于 2011-01-30T18:38:13.480 回答
15

正如 Bjarne 多次指出的那样,当人们批评 C++ 时,它通常是这样的:“C++ 太大、太复杂、功能太多、而且太难学——你应该真正努力去做 _ _

于 2011-01-30T18:48:10.630 回答
10

仅仅因为它可以完成并不意味着它没有完成是一个问题。对 C++ 的一种批评是“Stroustrup 采用了任何人听说过的所有东西,并试图将其包括在内”。

另外,正如 Raymond Chen 所说,“每个功能都以 -100 分开始。” 也就是说,在你问为什么 C++ 没有这些东西之前,你应该详细解释它为什么需要它们。否则,由于与之相关的成本,您的功能将停留在负数区域。

于 2011-01-30T18:36:30.357 回答