我想你们中的大多数人都知道我在说什么。你开始了一份新工作,在扫描代码的第一周左右,你意识到你在另一个 C 商店,偶尔会出现流或不幸的用户定义类。您很快意识到,您不仅不会学到任何新东西,而且您被要求不要使用某些东西只是时间问题,因为没有其他人理解它们并且将无法维持您的工作。
您是否经常在 StackOverflow 上看到一些新技术,却发现如果您曾经在工作中使用过它,您最多只会感到困惑或烦恼?
根据您的经验,这些地方是常态还是异常(exception)?
在面试环境中,您如何(或会)尝试确定团队的复杂程度和对 C++ 的投入程度?例如,我曾尝试询问有关公司使用 STL、Boost、3rd 方库等的问题,但这似乎只会逐渐接近你在其中找到的实际情况。想法?
最佳答案
这真的是全面的。一方面,我曾在一个最近用 C 重写代码的地方工作过。最近是 10 年前。每个人都对这种新奇的技术持高度怀疑态度。
稍微往下看,您会发现 C 程序员碰巧拥有启用了 C++ 功能的编译器。他们将涉足“类”关键字。但除此之外,他们实际上是用 C 语言编写的。
接下来,我想您会发现那些刚刚了解继承和多态性的人。这些人会为 MFC 或 wxWidgets 程序而神魂颠倒,认为它是最棒的。
你会走得更远,找到刚刚读过 Meyer 的人。它们都是关于弄清楚如何有效地使用 STL。他们有一个基本的模板概念,主要等同于 STL 使用它们的方式。
那么您就有了现代 C++ 模板元编程极客。如今,我们中的许多人以提升及其所有优点的形式使用他们的工作。很少有人真正使用模板元编程。这可能是件好事。
我已经看到每个级别都编写了非常好的代码。
我一直喜欢 C++ 的一个很酷的地方是,在每个增加的复杂度级别,成本都可以用“如何在 C 中实现这种新的抽象”来概念化。所以我可以概念化继承和多态性增加了函数指针查找的成本。自从我看到这个并用 C 编写了这个,我知道我在做什么。我还对模板的工作原理有所了解,部分原因在于预处理器在 C 中的工作方式。这适用于 C++ 和 C 世界中的大多数功能。
由于很容易将概念映射到它们在 C 中的实现方式,因此我可以轻松地可视化底层架构如何运行我的代码。
关于c++ - 如何确定商店的实际发展水平,例如C++ 与 C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744768/