eclipse中的unique_ptr自动完成
unique_ptr autocomplete in eclipse
我正在玩unique_ptr。在我的上一篇文章中,人们通过在编译过程中指定-std=c++0x,帮助我编译了一个使用此指针的程序。现在我想知道是否有任何方法可以指示eclipse在自动完成时考虑c++11
unique_ptr不在std::namespace的列表中,我也找不到与unique_pr关联的方法(reset、move…)。
谢谢vahid
如果宏"__cplusplus"等于或大于"201103L",则"memory"标头(可能在/usr/include/c++/4.9/bits/unique_ptr.h和/usr/include/c++/4.9/bits/shared_ptr.h中找到)仅包括"unique_ptr.sh"answers"shared_ptr.h"。检查memory.h,在第69行查看"#if"预处理器条件(或搜索字符串"#if__cplusplus>=201103L")。
正如其他人所提到的,使用"-std=c++0x"或更高版本的c++标准(-std=c++11或-std=c+/14)进行编译可以解决编译错误,但不能解决eclipse索引和自动完成问题。
为了解决eclipse索引问题,我在项目构建属性中添加了值为"201103L"的"__cplusplus"预处理器宏,然后刷新了索引;
添加预处理器宏:
"右键单击项目资源管理器">>属性>>C/C++常规>>预处理器包含>>条目>>GNU C++>>CDT用户设置条目>>添加…>>预处理器宏;
然后输入一个名为"__cplusplus"、值为"201103L"的宏;
之后,要刷新索引,请执行:
"右键单击项目资源管理器上的项目">>索引>>重建;
Ps.:我使用的是gcc 4.9.2和eclipse Luna(4.4.2),在ubuntu 15.04 64位上
我想您应该将__GXX_EXPERIMENTAL_CXX0X__
定义添加到Eclipse中的"路径和符号"中。另请参阅这个问题GNU C++如何检查-std=C++0x何时生效?同样的问题Eclipse索引器可以';t解析shared_ptr
的shared_ptr。
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 为什么我不能在不进行任何转换的情况下将浮点数放入任何类型的 ptr 中?
- C++中的指针否定 (!ptr == NULL)
- C++中的大小释放:全局运算符delete的正确行为是什么(void*ptr,std::size_t size)
- std::哈希表示无序映射中的唯一 PTR
- 为什么asm中的这种差异对性能很重要(在未优化的ptr++与++ptr循环中)
- 递增llvm-ir中的ptr
- 为什么非常量ptr不能隐式地将ptr转换为常量作为模板中的参数
- 非ptr新声明符中的错误表达式
- 为什么这个显式析构函数会导致共享ptr中的内存损坏
- 此指令中的错误 C2415 "MOV Incoming_Packet_Length,DWORD PTR SS:[EBP-14]"
- Linux中的c++运行时错误::glibc检测到free():无效的下一个大小(快速):堆栈具有void ptr元素
- char*中的C++错误PTR(无法计算表达式)
- 共享 PTR - shared_ptr 和 unique_ptr Lippman C++入门中的构造函数