c++ - 如何确定商店的实际发展水平,例如C++ 与 C?

标签 c++

我想你们中的大多数人都知道我在说什么。你开始了一份新工作,在扫描代码的第一周左右,你意识到你在另一个 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/

相关文章:

c++ - 自定义 google-c-style.el

c++ - 如何在不插入 std::unordered_map 的情况下访问(检查)元素?

c++ - C++如何使用相同的.h并在使用相同的.h时选择不同的.cpp?

c++ - 使用类方法的模板

c++ - 在读取之前预填充 cin

c++ - C++ 中的透明度

C++ - typedef/用于函数模板

C++组件对象模型

c++ - call 'new' 是如何调用自定义放置分配函数的?

c++ - 四元数3轴旋转