Code::blocks中不支持C++11的问题
#include <iostream>#include <vector>
#include <algorithm>
using namespace std;
class Foo
{
public:
Foo()=default;
Foo(initializer_list<int> il):data(il) {}
Foo sorted() &&;
Foo sorted() const &;
void print() const;
private:
vector<int> data;
};
Foo Foo::sorted() &&
{
sort(data.begin(),data.end());
cout<<"调用右值引用函数"<<endl;
return *this;
}
Foo Foo::sorted() const &
{
Foo ret(*this);
sort(ret.data.begin(),ret.data.end());
cout<<"调用左值引用函数"<<endl;
return ret;
}
void Foo::print() const
{
for(auto c:data)
cout<<c<<" ";
}
int main()
{
Foo f1({3,4,6,1,8,9,0,2}),f2({7,6,5,4,3});
f1.sorted();
std::move(f2).sorted();
f1.print();
f2.print();
return 0;
}
提示:error: unrecognized command line option '-std=c++11' 怎么改?
codeblocks需要一些配置来变成使用c++11进行编译,看图中红色框,勾选上。
支持一下,不错{:7_148:} Code::blocks中支持C++11
页:
[1]