繁体   English   中英

eclipse中的unique_ptr自动完成

[英]unique_ptr autocomplete in eclipse

我正在玩unique_ptr。 在我的一篇文章中,人们通过在编译期间指定-std = c ++ 0x来帮助我编译使用此指针的程序。 现在我想知道是否有任何方法可以指示eclipse在自动完成时考虑c ++ 11?
unique_ptr没有进入std :: namespace列表,也没有找到与unique_ptr相关的方法(reset,move ...)。

谢谢vahid

“memory”标题(可能在/usr/include/c++/4.9/memory中找到)只包含“unique_ptr.h”和“shared_ptr.h”(可能在/usr/include/c++/4.9/bits/unique_ptr中找到)。 h和/usr/include/c++/4.9/bits/shared_ptr.h)如果宏“__cplusplus”等于或大于“201103L”。 检查memory.h,自己在第69行查看“#if”预处理器条件(或搜索字符串“#if __cplusplus> = 201103L”)。

正如其他人所提到的,使用“-std = c ++ 0x”或更高版本的c ++标准(-std = c ++ 11或-std = c ++ 14)进行编译可以解决编译错误,但不能解决eclipse索引和自动完成问题。

为了解决eclipse索引问题,我将“__cplusplus”预处理器宏添加到项目构建属性中,值为“201103L”,之后我刷新了索引;

要添加预处理器宏:

“右键单击项目资源管理器上的项目”>>属性>> C / C ++一般>>预处理器包括>>条目>> GNU C ++ >> CDT用户设置条目>>添加... >>预处理器宏;

然后输入一个名为“__cplusplus”且值为“201103L”的宏;

之后,要刷新索引,请执行以下操作:

“在项目浏览器上右击项目”>>索引>>重建;

Ps。:我在ubuntu 15.04 64bits上使用gcc 4.9.2和eclipse Luna(4.4.2)

我想你应该在Eclipse中的“Paths and Symbols”中添加__GXX_EXPERIMENTAL_CXX0X__定义。 另请参阅这个问题GNU C ++如何检查-std = c ++ 0x何时生效? 并且相同的问题Eclipse索引器无法解析shared_ptrshared_ptr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM