【问题标题】:eclipse autocomplete iterator for C++C++的eclipse自动完成迭代器
【发布时间】:2012-03-16 17:24:04
【问题描述】:

这是我的代码(编译良好):

auto_ptr<people_t> ppl(people("people.xml"));
people_t::person_sequence &ps(ppl->person());
for(people_t::person_iterator i (ps.begin()); i!=ps.end(); ++i)

在最后一行,当我尝试从自动完成列表中选择 begin() 和 end() 时,我得到的唯一东西是“序列”(不是 begin, end...)所以我有键入它们。任何想法为什么?以及如何解决这个问题?

【问题讨论】:

  • @rahman:你用的是哪个版本的eclipse和CDT?
  • @@ Björn Pollex:不确定 CDT(不知道在哪里可以找到它 :))但 Eclipse 是版本:3.7.0。我不到一个月前通过 apt-get 安装了它。
  • people 是一个类吗?那么people_t 是什么?我不确定它是如何编译的。如果您可以访问 c++11 编译器并允许使用它,请使用unique_ptr 而不是auto_ptr。 auto_ptr 现在在新标准中已弃用。请提供有关课程的更多信息。这有助于理解问题。

标签: c++ eclipse autocomplete iterator


【解决方案1】:

我不知道为什么这两个符号没有出现在列表中。然而,C++ 拥有所有编程语言中最复杂的语法之一。通常,对于不必了解所有内容的工具(编译器),他们会尝试将其中的大部分内容做得相当好(80/20 规则)。因此,当您特别是使用大量宏和模板时,IDE 可能会感到困惑。

我注意到的一件事是,正因为如此,我实际上对我的 C++ 知识比对 Java 更有信心。所以有取舍。如果你知道它是对的并且编译器没有抱怨,我就不会担心。

【讨论】:

  • @@parkovski,谢谢。你可能是对的。这也是我猜到的。我会给它一段时间,如果没有给出其他答案,我会将您的答案标记为真实。坦克
  • 我在 Eclipse 的模板和宏方面遇到了很多问题,所以我一点也不意外。他们重新实现 C++ 解析器的策略在这里显示了它的缺点:x
猜你喜欢
  • 2011-01-31
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 2015-01-13
  • 1970-01-01
  • 2013-01-21
  • 2021-02-13
  • 1970-01-01
相关资源
最近更新 更多