激活智能指针

Activate Smart Pointers?

本文关键字:指针 智能 激活      更新时间:2023-10-16

我想尝试一下c++ 11的新特性,也就是Smart Pointers。我找到了一个例子++ (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2在这里:

#include <memory>
int main() {
    std::shared_ptr<int> sptr1( new int );
}

当我尝试它是我得到的一切:

In function ‘int main()’:|
error: ‘shared_ptr’ was not declared in this scope|
error: expected primary-expression before ‘int’|
error: expected ‘;’ before ‘int’|

这是我的c++版本:

g++ (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2

我必须首先"激活"c++ 11吗?

您需要将-std=c++11编译器标志传递给g++编译器。CodeBlocks允许你通过

来配置它

Settings -> Compiler -> Compiler Settings

注意对于旧版本的gcc,您可能需要-std=c++0x