草庐IT

c++ - 错误 C2248 : 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'

我无法理解这个错误。这个错误不在我正在调试的类中。(是吗?)错误是:c:\programfiles\microsoftvisualstudio10.0\vc\include\fstream(890):errorC2248:'std::basic_ios::basic_ios':cannotaccessprivatememberdeclaredinclass'std::basic_ios'1>with1>[1>_Elem=char,1>_Traits=std::char_traits1>]1>c:\programfiles\microsoftvisualstudio10.0\vc\inc

c++ - 为什么 operator<< 的重载必须通过引用返回?

我想打印出一个用户定义类型的对象,像这样cout所以我想重载operatoriosfwd和ios_base.hostreamoperator1)是不是因为不能创建新的ostream对象,所以要按引用返回?但是当我像这样通过引用返回时:ostream&operator它工作正常。2)有什么解释吗? 最佳答案 在第一个示例中,您返回了不允许的流对象拷贝,因为C++中所有流类的复制构造函数(以及复制赋值)已被禁用让他们制作private.由于您无法制作流对象的拷贝,因此您需要通过引用返回它,这是您在第二个示例中所做的,这就是它工作正常的原

c++ - 我可以在不更改 use_count 的情况下将 shared_ptr<T> & 转换为 shared_ptr<T const> & 吗?

我有一个使用boost::shared_ptr的程序s,特别是依赖于use_count的准确性执行优化。例如,假设一个加法运算有两个参数指针lhs和rhs。假设他们都有类型shared_ptr.当需要执行加法时,我会检查use_count,并且如果我发现其中一个参数的引用计数恰好为1,那么我将重新使用它来就地执行操作。如果两个参数都不能重用,我必须分配一个新的数据缓冲区并执行异地操作。我正在处理庞大的数据结构,因此就地优化非常有用。因此,我永远无法复制shared_ptr没有理由,即每个函数都采用shared_ptrs通过引用或const引用以避免扭曲use_count.我的问题是:我

获取多行词&lt; title&gt;&lt;/title&gt;正则经典ASP

AskaQuestion-StackOverflowAskaQuestion-StackOverflow当我试图捕获空白的时候。我的模式是]*>([^如何删除空行或仅捕获标题文本?谢谢你看答案www.regexpal.com是回答这类问题的绝佳效用。这m正则对象上的标志将很好地捕获多行。这应该匹配第一个匹配组中标题标签之间的所有内容,即使是多行,我也总是使用一世同样,如果您正在使用第三方数据,则仅处理未知数:/([^/im如果您想删除白色的witherpase(即修剪),则可以做类似的事情:/(?:\s+)?([^/im无论哪种情况,您的第一个比赛组都应该拥有您想要的东西:myText.mat

用std :: vector&lt; std :: string&gt填充虚拟listView;

我有成千上万个字符串的向量:std::vectora;充满了一些算法。遵循描述的方法这里,这是我创建一个ListView作为“虚拟列表”:hList=CreateWindowEx(0,WC_LISTVIEW,L"",WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_OWNERDATA,0,0,800,400,hWnd,(HMENU)ID_LISTVIEW,hInst,NULL);LV_COLUMNlvcol;...ListView_InsertColumn(hList,0,&lvcol);ListView_SetItemCountEx(hList,100000,LVSICF

c++ - array<> 不能简单地在内部交换指针

对于用TR1引入STL的容器数组,我有下面的问题。在“TheC++standardlibraryATutorialandReference”一书的第263页中:Note,however,thatanarraycan’tsimplyswappointersinternally.Forthisreason,swap()haslinearcomplexityandtheeffectthatiteratorsandreferencesdon’tswapcontainerswiththeirelements.我想知道为什么array不能考虑交换指针的恒定开销? 最佳答

document.execcommand-关闭&lt; pre&gt;堵塞

我尝试创建一个通过使用document.execCommand('insertHTML',false,'‌‌');但是我的问题是我找不到如何正确关闭它。在这一点上,我只找到了一个部分解决方案,该解决方案让两个不需要的空线街区和一个外面。html:OPENPREBLOCKCLOSEPREBLOCKThisisheadingLoremipsumdolorsitamet,consectetueradipiscingelit.Sedposuereinterdumsem.Quisqueligulaerosullamcorperquis,laciniaquisfacilisisseds

c++ - std::static_pointer_cast 与 static_cast<std::shared_ptr<A>>

我有一个类层次结构,其中B源自A像这样:classA:publicstd::enable_shared_from_this{};classB:publicA{voidf(){//thecodebelowcompilesstd::shared_ptrcopyOfThis=std::static_pointer_cast(shared_from_this());//thecodebelowdoesnotstd::shared_ptrcopyOfThis=static_cast>(std::make_shared(shared_from_this()));}};所以实际上我想了解为什么我不能

c++ - C++11 中的 vector <字符> VS vector < bool >

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion我们为什么要使用vector而不是vector?vector是什么原因更快?

c++ - 有人可以打破这条线 gcc -E -dM - </dev/null

刚刚遇到这个让我惊呆了的人:gcc-E-dM-这部分让我感到困惑:- 最佳答案 这给出了gcc中所有预定义宏的列表。-E表示运行预处理器。-dM表示从预处理器中转储预定义的宏。-用于从标准输入读取,而/dev/null仅提供一个空源文件。 关于c++-有人可以打破这条线gcc-E-dM- https://stackoverflow.com/questions/1529051/