草庐IT

my_shared_ptr

全部标签

c++11 - std::weak_ptr 什么时候有用?

我开始研究C++11的智能指针,但我看不到std::weak_ptr的任何有用用途。谁能告诉我std::weak_ptr什么时候有用/必要? 最佳答案 std::weak_ptr是解决danglingpointer的一个很好的方法。问题。通过仅使用原始指针,不可能知道引用的数据是否已被释放。相反,通过让std::shared_ptr管理数据,并将std::weak_ptr提供给数据的用户,用户可以通过调用expired()或lock().您不能单独使用std::shared_ptr来执行此操作,因为所有std::shared_ptr

c++11 - std::weak_ptr 什么时候有用?

我开始研究C++11的智能指针,但我看不到std::weak_ptr的任何有用用途。谁能告诉我std::weak_ptr什么时候有用/必要? 最佳答案 std::weak_ptr是解决danglingpointer的一个很好的方法。问题。通过仅使用原始指针,不可能知道引用的数据是否已被释放。相反,通过让std::shared_ptr管理数据,并将std::weak_ptr提供给数据的用户,用户可以通过调用expired()或lock().您不能单独使用std::shared_ptr来执行此操作,因为所有std::shared_ptr

c++ - 我们应该通过引用还是按值传递 shared_ptr ?

当函数采用shared_ptr(来自boost或C++11STL),你通过了吗:通过const引用:voidfoo(constshared_ptr&p)或按值:voidfoo(shared_ptrp)?我更喜欢第一种方法,因为我怀疑它会更快。但这真的值得吗?还是有其他问题?能否请您说明您选择的原因,或者如果是,您认为这无关紧要的原因。 最佳答案 Scott、Andrei和Herb在AskUsAnything期间讨论并回答了这个问题。sessionC++andBeyond2011.观看从4:34onshared_ptrperforma

c++ - 我们应该通过引用还是按值传递 shared_ptr ?

当函数采用shared_ptr(来自boost或C++11STL),你通过了吗:通过const引用:voidfoo(constshared_ptr&p)或按值:voidfoo(shared_ptrp)?我更喜欢第一种方法,因为我怀疑它会更快。但这真的值得吗?还是有其他问题?能否请您说明您选择的原因,或者如果是,您认为这无关紧要的原因。 最佳答案 Scott、Andrei和Herb在AskUsAnything期间讨论并回答了这个问题。sessionC++andBeyond2011.观看从4:34onshared_ptrperforma

html - 为什么垂直对齐: middle not working on my span or div?

我试图在另一个div元素中垂直居中span或div元素。但是,当我放置vertical-align:middle时,什么也没有发生。我尝试更改两个元素的display属性,但似乎没有任何效果。这是我目前在网页中所做的:.main{height:72px;vertical-align:middle;border:1pxsolidblack;padding:2px;}.inner{vertical-align:middle;border:1pxsolidred;}.second{border:1pxsolidblue;}Thisboxshouldbecenteredinthelargerb

html - 为什么垂直对齐: middle not working on my span or div?

我试图在另一个div元素中垂直居中span或div元素。但是,当我放置vertical-align:middle时,什么也没有发生。我尝试更改两个元素的display属性,但似乎没有任何效果。这是我目前在网页中所做的:.main{height:72px;vertical-align:middle;border:1pxsolidblack;padding:2px;}.inner{vertical-align:middle;border:1pxsolidred;}.second{border:1pxsolidblue;}Thisboxshouldbecenteredinthelargerb

std::weak_ptr<void>绑定到std::shared_ptr<T>

最近在忙自己的研究生科研工作和尽量在不看源码的情况下写一个玩具版的muduo(我已经看过陈硕的《Linux多线程服务端编程:使用muduoC++网络库》,相当于按自己的理解再写一遍),没太有时间写C++对象模型的后面部分,等组会开完后再继续写。今天就写一下几天前看到的一个小技巧,也即标题:std::weak_ptr绑定到所有类型的std::shared_ptr。std::weak_ptr我们知道weak_ptr目的是为了防止只使用std::shared_ptr导致的循环引用,从而导致内存泄漏。一个经典的例子如下:#include#include#include#includeclassChil

std::weak_ptr<void>绑定到std::shared_ptr<T>

最近在忙自己的研究生科研工作和尽量在不看源码的情况下写一个玩具版的muduo(我已经看过陈硕的《Linux多线程服务端编程:使用muduoC++网络库》,相当于按自己的理解再写一遍),没太有时间写C++对象模型的后面部分,等组会开完后再继续写。今天就写一下几天前看到的一个小技巧,也即标题:std::weak_ptr绑定到所有类型的std::shared_ptr。std::weak_ptr我们知道weak_ptr目的是为了防止只使用std::shared_ptr导致的循环引用,从而导致内存泄漏。一个经典的例子如下:#include#include#include#includeclassChil

Ubuntu22.04使用zsh+oh my zsh+Powerlevel10k主题

Ubuntu22.04使用zsh+ohmyzsh+Powerlevel10k主题**oh-my-zsh**1、字体安装1.1、安装mkfontscalemkfontdir和fc-cache命令1.2、下载字体文件1.3、然后解压到文件夹1.4、转到/usr/share/fonts/SourceCodePro目录,并安装2、安装zsh3、安装oh-my-zsh4、安装Powerlevel10k主题4.1、配置Powerlevel10k5、安装各种插件参考链接oh-my-zshOhMyZsh是一款社区驱动的命令行工具,是基于Zsh命令行的一个扩展工具集,提供了丰富的扩展功能,如:主题配置,插件机制

Ubuntu22.04使用zsh+oh my zsh+Powerlevel10k主题

Ubuntu22.04使用zsh+ohmyzsh+Powerlevel10k主题**oh-my-zsh**1、字体安装1.1、安装mkfontscalemkfontdir和fc-cache命令1.2、下载字体文件1.3、然后解压到文件夹1.4、转到/usr/share/fonts/SourceCodePro目录,并安装2、安装zsh3、安装oh-my-zsh4、安装Powerlevel10k主题4.1、配置Powerlevel10k5、安装各种插件参考链接oh-my-zshOhMyZsh是一款社区驱动的命令行工具,是基于Zsh命令行的一个扩展工具集,提供了丰富的扩展功能,如:主题配置,插件机制