Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是C++;元模板是程序员需要的知识吗? 我的经验,元模板非常有趣(当编译器是兼容的),并且可以提供良好的性能提升,幸运的是,我周围都是经验丰富的C++程序员,它们也会对元模板进行格式化,但是偶尔会有新的开发人员到达,无法使用一些元模板技巧。(大部分是安德烈·阿伦克桑德雷斯库的作品),持续几周,直到他得到适当的启蒙 所以我想知道其他C++程序员的情况如何? 元模板编程是否应该是C++程序员应该知道的(当然不包括入门级的学生),或者不是?_C++_Metaprogramming - Fatal编程技术网

是C++;元模板是程序员需要的知识吗? 我的经验,元模板非常有趣(当编译器是兼容的),并且可以提供良好的性能提升,幸运的是,我周围都是经验丰富的C++程序员,它们也会对元模板进行格式化,但是偶尔会有新的开发人员到达,无法使用一些元模板技巧。(大部分是安德烈·阿伦克桑德雷斯库的作品),持续几周,直到他得到适当的启蒙 所以我想知道其他C++程序员的情况如何? 元模板编程是否应该是C++程序员应该知道的(当然不包括入门级的学生),或者不是?

是C++;元模板是程序员需要的知识吗? 我的经验,元模板非常有趣(当编译器是兼容的),并且可以提供良好的性能提升,幸运的是,我周围都是经验丰富的C++程序员,它们也会对元模板进行格式化,但是偶尔会有新的开发人员到达,无法使用一些元模板技巧。(大部分是安德烈·阿伦克桑德雷斯库的作品),持续几周,直到他得到适当的启蒙 所以我想知道其他C++程序员的情况如何? 元模板编程是否应该是C++程序员应该知道的(当然不包括入门级的学生),或者不是?,c++,metaprogramming,C++,Metaprogramming,编辑:请注意,我的问题与生产代码和不少样本或原型有关如果你能找到足够多真正了解模板元编程的候选人,那么请务必使用它。你将向许多合格且有潜在生产力的人展示这扇门(有很多合法的理由不知道如何做到这一点,即如果你在很多平台上做这些代码,你将创建代码无法编译,或者普通开发人员会理解困难)。模板元编程是很好的,但是让我们面对它,它将C++推向极限。 现在,应征者可能应该了解基本知识(在编译时计算n!或者至少解释一下如果向他们展示代码,它是如何工作的)如果你的新开发人员在几周内可靠地生产,那么你现在的招聘可

编辑:请注意,我的问题与生产代码和不少样本或原型有关

如果你能找到足够多真正了解模板元编程的候选人,那么请务必使用它。你将向许多合格且有潜在生产力的人展示这扇门(有很多合法的理由不知道如何做到这一点,即如果你在很多平台上做这些代码,你将创建代码无法编译,或者普通开发人员会理解困难)。模板元编程是很好的,但是让我们面对它,它将C++推向极限。
现在,应征者可能应该了解基本知识(在编译时计算n!或者至少解释一下如果向他们展示代码,它是如何工作的)如果你的新开发人员在几周内可靠地生产,那么你现在的招聘可能是相当不错的。

< P>是的,但是我个人不会把它放在第一位。这是一个很好的特点,但它有点情境,而且没有它,就可以开发出好的C++代码。我个人使用过一两次,但没有。我发现在我的工作中经常使用它是有价值的(也许这是我缺乏C++生产经验的一个功能)。

< P> >不知道如何使用C++模板是绝对必要的。没有这些模板,你可以做很多事情。但是它们是一个奇妙的特性。

由于您使用了自己的模板,任何新用户都必须像您的其他代码一样快速使用它们,而这些代码将成为学习的主要部分

我鼓励人们学习使用STL的一些功能。我在生产代码中使用了这个库,它确实节省了时间,简化了很多事情。我也会在需要时使用自己的库

我还听说了关于boost库的好消息


如果我需要编写可移植代码,那么我通常会远离模板,因为许多编译器仍然不能正确地支持它们。如果你需要可移植STL,那么STLPort是最可移植的。

我在生产代码中使用过的模板元编程的唯一用途是展开一个关键循环,该循环读取一个硬代码重新登记N次,然后再加M次,N,M在不同的硬件上不同,在编译时知道。一般来说,这些技术似乎不适合我们的代码库,而且我也从来没有通过代码审查来获得它们。

要求。一如既往,对于那些在嵌入式领域中现在只获得半正方形C++的人来说。我们的小型DSP的MPiler和其他功能,我们很高兴能够使用类

然而,如果你有一个中途的C++编译器,比如说GCC 3.3ISH+,那么,你应该看看模板元编程。当然,一个好的开始是Boost库,因为它覆盖了你在STL耗尽时看起来的大多数模板,它也是一个很好的跳动点。


然而,有时我发现模板元编程的优点(许多漂亮的类型安全代码,只有几行<和>)并不值得花费那么多的成本。有时,一个好的旧for(container::const_iterator iter=…)可以很好地满足您的需要。

作为一个合理的人(虽然不广泛)使用模板和元编程,我会尽力使接口(我指的是内部使用接口)尽可能正常。不是每个人都能理解模板,甚至那些有时不能理解复杂或迟钝的元编程范例的人


话虽如此,如果你想深入研究修改我的低级库,你必须知道很多。然而,你甚至不需要知道模板(除了基线知识)才能使用它们。这就是我的底线,至少是我希望其他开发人员具备的知识水平(取决于它们是如何使用代码的)。

< p>我不需要模板编程,但它绝对是很好的。你应该知道足够的主题,以便能够有效地使用模板库,如STL或Booost。
当我面试某人时,我总是会问一些关于模板元编程的问题。如果候选人不知道这个主题,我永远不会反对他们。但是如果他们知道,那么这对他们来说是一个很大的好处。

18个月后,这个话题仍然非常相关。我仍然会说模板元编程是非常有用的这不是必需的知识,但您至少需要能够阅读和解释一些基础知识,如条件句和奇怪的重复模板模式(循环).除此之外,只要你有几个人能够为它编写一个好的界面,那么真正需要的只是从基础到中间模板的知识,尽管YMMV。

是我,还是问题的标题真的与所问的问题不同?既然你提到了,你是对的,这个问题不匹配。所以我改变了为了更好地匹配问题的内容,“元模板”是什么?你不是说模板元编程吗?是的,这或多或少地描述了我们这样做的方式。我们以友好的方式结束了我们的代码-