C++中的模板类......所需的技能组合?

1 c++ oop templates class

我是C++的新手,我想知道我应该花多少时间学习如何实现模板类.它们是否在工业中广泛使用,或者这是我应该快速完成的事情?

doc*_*doc 8

你迟早会需要它们;)但是对于初学者来说,它们写起来有点棘手(但是易于使用,所以要密切使用STL).在掌握了其他c ++技能(const-correctness,运算符重载,学习编译单元等)并获得一些经验之后,您将开始为自己编写模板.所以我的建议是:使用它们但是当你发现需要它们时学习如何编写它们.如果您首先获得一些标准c ++构造的经验,那么学习将会更快更有效.

  • +1:使用和创建之间存在明显的区别。如果第一个是必需的,第二个实际上取决于一个人想要完成什么(而且更棘手)。 (2认同)

Ale*_*lli 7

在我的雇主,主要我们使用在C++而不是用C的事情确实是仿制药,又名"模板".继承和c很好(但有优点和缺点),但模板绝对至关重要 - C++优于C 主要成本优势.掌握它们,你不会浪费时间! - )

  • 泛型不是模板.模板不是泛型. (5认同)
  • 当然模板是用于通用编程的--Austern的书"Generic Programming and the STL"是在C#甚至是微软的眼中之前编写的!"通用编程"是一种编程范式(比如说,"函数编程"),"泛型"是实现它的实体,模板是C++的泛型. (5认同)
  • 给Alex的评论+1.人们太习惯于用C#的泛型这样的特定名称,忘记它也是一个可以*通用*的词. (2认同)