草庐IT

my_shared_ptr

全部标签

c++ - 为什么 shared_ptr<void> 合法,而 unique_ptr<void> 格式不正确?

这个问题确实符合标题:我很想知道造成这种差异的技术原因是什么,以及基本原理?std::shared_ptrsharedToVoid;//legal;std::unique_ptruniqueToVoid;//ill-formed; 最佳答案 这是因为std::shared_ptr实现了类型删除,而std::unique_ptr没有。由于std::shared_ptr实现了类型删除,它还支持另一个有趣的属性,即。它确实不需要删除器的类型作为模板类型参数到类模板。看看他们的声明:template>classunique_ptr;其中有D

c++ - 为什么 shared_ptr<void> 合法,而 unique_ptr<void> 格式不正确?

这个问题确实符合标题:我很想知道造成这种差异的技术原因是什么,以及基本原理?std::shared_ptrsharedToVoid;//legal;std::unique_ptruniqueToVoid;//ill-formed; 最佳答案 这是因为std::shared_ptr实现了类型删除,而std::unique_ptr没有。由于std::shared_ptr实现了类型删除,它还支持另一个有趣的属性,即。它确实不需要删除器的类型作为模板类型参数到类模板。看看他们的声明:template>classunique_ptr;其中有D

c++ - 我应该通过引用传递 shared_ptr 吗?

这个问题在这里已经有了答案:Shouldwepassashared_ptrbyreferenceorbyvalue?(10个回答)关闭8年前。传递shared_ptr的最佳做法是什么?目前我像这样传递shared_ptr函数参数:voidfunction1(shared_ptr&value); 最佳答案 在受控情况下,您可以通过常量引用传递共享指针。确保没有人同时删除该对象,但如果您注意引用的对象,这应该不会太难。一般来说,您应该将共享指针作为直接拷贝传递。这赋予了它预期的语义:每个包含共享指针拷贝的作用域都凭借其在所有权中的“份额

c++ - 我应该通过引用传递 shared_ptr 吗?

这个问题在这里已经有了答案:Shouldwepassashared_ptrbyreferenceorbyvalue?(10个回答)关闭8年前。传递shared_ptr的最佳做法是什么?目前我像这样传递shared_ptr函数参数:voidfunction1(shared_ptr&value); 最佳答案 在受控情况下,您可以通过常量引用传递共享指针。确保没有人同时删除该对象,但如果您注意引用的对象,这应该不会太难。一般来说,您应该将共享指针作为直接拷贝传递。这赋予了它预期的语义:每个包含共享指针拷贝的作用域都凭借其在所有权中的“份额

c++ - `const shared_ptr<T>` 和 `shared_ptr<const T>` 之间的区别?

我正在为C++中的共享指针编写一个访问器方法,如下所示:classFoo{public:return_typegetBar()const{returnm_bar;}private:boost::shared_ptrm_bar;}所以为了支持getBar()的const-ness返回类型应该是boost::shared_ptr防止修改Bar它指向。我的猜测是shared_ptr是我想要返回的类型,而constshared_ptr将防止重新分配指针本身以指向不同的Bar但允许修改Bar它指向...但是,我不确定。如果确定知道的人可以确认这一点,或者如果我弄错了,我将不胜感激。谢谢!

c++ - `const shared_ptr<T>` 和 `shared_ptr<const T>` 之间的区别?

我正在为C++中的共享指针编写一个访问器方法,如下所示:classFoo{public:return_typegetBar()const{returnm_bar;}private:boost::shared_ptrm_bar;}所以为了支持getBar()的const-ness返回类型应该是boost::shared_ptr防止修改Bar它指向。我的猜测是shared_ptr是我想要返回的类型,而constshared_ptr将防止重新分配指针本身以指向不同的Bar但允许修改Bar它指向...但是,我不确定。如果确定知道的人可以确认这一点,或者如果我弄错了,我将不胜感激。谢谢!

objective-c - 与 iOS 6.0 原生 Facebook 集成共享 : "Posted via my app name"?

我刚刚通过ios6将facebook集成到我的应用程序中,但是在我的墙上发帖时遇到了问题。它只是说“通过ios应用发布”.我想让它说“通过应用名称发布”.我已经与facebook建立了一个应用程序标识,并且我有他们分配的应用程序编号,但我不确定如何将其与facebook集成进行集成。下面是我的代码。如果有人可以提供帮助,将不胜感激。谢谢!{NSString*message;message=[[NSStringalloc]initWithFormat:@"I'veearned%@points",[selfretrieveScore]];if([SLComposeViewControlle

objective-c - 与 iOS 6.0 原生 Facebook 集成共享 : "Posted via my app name"?

我刚刚通过ios6将facebook集成到我的应用程序中,但是在我的墙上发帖时遇到了问题。它只是说“通过ios应用发布”.我想让它说“通过应用名称发布”.我已经与facebook建立了一个应用程序标识,并且我有他们分配的应用程序编号,但我不确定如何将其与facebook集成进行集成。下面是我的代码。如果有人可以提供帮助,将不胜感激。谢谢!{NSString*message;message=[[NSStringalloc]initWithFormat:@"I'veearned%@points",[selfretrieveScore]];if([SLComposeViewControlle

c++ - 如何在只有 protected 或私有(private)构造函数的类上调用::std::make_shared?

我有这段代码不起作用,但我认为意图很明确:testmakeshared.cpp#includeclassA{public:static::std::shared_ptrcreate(){return::std::make_shared();}protected:A(){}A(constA&)=delete;constA&operator=(constA&)=delete;};::std::shared_ptrfoo(){returnA::create();}但是我编译的时候出现这个错误:g++-std=c++0x-march=native-mtune=native-O3-Walltes

c++ - 如何在只有 protected 或私有(private)构造函数的类上调用::std::make_shared?

我有这段代码不起作用,但我认为意图很明确:testmakeshared.cpp#includeclassA{public:static::std::shared_ptrcreate(){return::std::make_shared();}protected:A(){}A(constA&)=delete;constA&operator=(constA&)=delete;};::std::shared_ptrfoo(){returnA::create();}但是我编译的时候出现这个错误:g++-std=c++0x-march=native-mtune=native-O3-Walltes