【问题标题】:Inherited constructors and "explicit is better than implicit" [closed]继承的构造函数和“显式优于隐式”[关闭]
【发布时间】:2015-10-18 18:29:14
【问题描述】:

良好编程风格的著名原则是:“显式优于隐式”。继承的构造函数不违背这个原则吗? (包含所有基类构造函数的单个 using 语句不是很明确,是吗?)

【问题讨论】:

  • 嗯,对我来说这听起来很明确,同时避免大量输入......
  • 有很多相互矛盾的原则,所有这些都有优点和缺点。例如,按约定配置和依赖注入是隐含的,但它们也有它们的位置。
  • short s = 10;... 然后int i = s; .. 这里short隐式转换成int .. 很好。
  • 在某种程度上,简洁胜于冗长。在那之后,简洁变得更加“聪明”而不是清晰。尽管如此,隐式通常更简洁。这是一种平衡,“人们习惯于看到的东西”虽然完全非技术性,但非常重要。
  • 遵循“众所周知的原则”的词不是通常倾向于描述未经证实或过于笼统的观点吗?

标签: c++ c++11 inheritance


【解决方案1】:

不,这个原则适用于explicit keyword with constructors and conversion operators,而不是明确 输入大量代码。 using 不会改变构造函数是显式的还是隐式的。

这个原则(与 C++ 中的大多数原则一样)也颇有争议且过于笼统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    • 2019-05-14
    • 2017-04-05
    • 2018-10-10
    • 2016-03-12
    相关资源
    最近更新 更多