我想在GCC中启用对C++0x的支持,使用-std=c++0x。我不一定需要GCC 4.5(和即将到来的4.6)中已支持的C++11特性中的任何一个,但我想开始逐渐习惯它们。例如,在我使用迭代器的几个地方,auto类型会很有用。 但再次强调,我不需要目前支持的任何特性。这里的目标是鼓励我将新...
这是一个基础问题,但我没有找到先前的帖子。以下问题的标题听起来可能与我的问题相同,但问题本身与标题不符:is it better to use shared_ptr.reset or operator =? 我对std :: shared_ptr的reset()成员函数的目的感到困惑:除了赋...
shared_ptr<Shape> circle(new Circle(Vec2f(0, 0), 0.1, Vec3f(1, 0, 0))); shared_ptr<Shape> rect(new Rect2f(Vec2f(0, 0), 5.0f, 5.0f, 0, ...
标准提供了std::unique_ptr的模板特化,它在析构函数中正确调用delete[]。 void func() { std::unique_ptr< int[] > arr(new int[10]); ....... } 使用std::shared_ptr...
我有一个类似于 boost::shared_ptr<Type> t(makeSomething(), mem_fun(&Type::deleteMe)) 的东西。 现在我需要调用需要指向 Type 的指针的 C 样式函数。我该如何从 boost::shared_ptr 中获...
我在我的应用程序中广泛使用std::tr1::shared_ptr。这包括将对象作为函数参数传递。请考虑以下内容:class Dataset {...} void f( shared_ptr< Dataset const > pds ) {...} void g( shared_...
我读到过: "即使被复制的 shared_ptr 对象共享所有权,多个线程也可以同时读写不同的 shared_ptr 对象。" (MSDN:标准 C++ 库中的线程安全) 那是否意味着更改 shared_ptr 对象是安全的? 例如,下面的代码是否被认为是安全的:shared_pt...
我有一个问题。我们能否直接获取共享指针所指向的对象?还是应该通过get()调用来获取底层的原始指针,然后访问相应的对象?
我正在尝试使用C++11的shared_ptr和make_shared,并编写了一个小的玩具示例来查看调用make_shared时实际发生了什么。作为基础设施,我正在使用带有XCode4的llvm/clang 3.0以及llvm标准C++库。class Object { public: ...
以下是相应的等效代码:std::vector<Foo*> vec; vec.push_back(NULL); 处理 boost::shared_ptr 时,是否是以下代码?std::vector< boost::shared_ptr<Foo> > vec; ...