草庐IT

screen_copy

全部标签

c++ - 我是否使用了 copy_if 错误?

我正在使用VisualStudio2010,我正在尝试使用std::copy_if,我想复制所有满足谓词的值。例如:structcomp{booloperator()(constinti){returni==5||i==7;}};intmain(){arrayarr={3,2,5,7,3,5,6,7};vectorres;copy_if(arr.begin(),arr.end(),res.begin(),comp());for(inti=0;i但是当我运行这段代码时,我得到:vectoriteratornotincrementable。 最佳答案

c++ - std::uninitialized_copy 和 std::copy 之间的区别?

std::uninitialized_copy和std::copy有什么区别,什么时候用哪个? 最佳答案 假设您通过malloc在堆上分配了一些内存并有一个指针T*p指向它。您最终会得到未初始化的存储,因为所有malloc所做的只是将您要求的大小的位置标记为已分配(另一方面,new实际上构造了对象,从而使分配的区域初始化存储)。由于从p开始的内存位置没有T类型的有效对象坐在那里,你不能这样做Ta;*p=a;因为在p处没有T类型的对象来调用赋值运算符。相反,您将使用placementnew在位置p处构造一个类型为T的对象。:Ta;ne

c++ - std::uninitialized_copy 和 std::copy 之间的区别?

std::uninitialized_copy和std::copy有什么区别,什么时候用哪个? 最佳答案 假设您通过malloc在堆上分配了一些内存并有一个指针T*p指向它。您最终会得到未初始化的存储,因为所有malloc所做的只是将您要求的大小的位置标记为已分配(另一方面,new实际上构造了对象,从而使分配的区域初始化存储)。由于从p开始的内存位置没有T类型的有效对象坐在那里,你不能这样做Ta;*p=a;因为在p处没有T类型的对象来调用赋值运算符。相反,您将使用placementnew在位置p处构造一个类型为T的对象。:Ta;ne

c++ - 删除copy-ctor和copy-assignment - public、private还是protected?

为了使对象不可复制,我们可以显式删除其复制构造函数和复制赋值运算符。我的问题是:什么是正确的做法-在类(class)的public、private或protected部分?而且-这个选择有什么不同吗? 最佳答案 whatistherightplacetodoit-inthepublic,privateorprotectedsectionoftheclass?我会将它们放在public部分。这是因为删除构造函数或赋值运算符与将它们设为private/protected是正交的;当这些没有被删除时,它们默认是public的。在我看来,将

c++ - 删除copy-ctor和copy-assignment - public、private还是protected?

为了使对象不可复制,我们可以显式删除其复制构造函数和复制赋值运算符。我的问题是:什么是正确的做法-在类(class)的public、private或protected部分?而且-这个选择有什么不同吗? 最佳答案 whatistherightplacetodoit-inthepublic,privateorprotectedsectionoftheclass?我会将它们放在public部分。这是因为删除构造函数或赋值运算符与将它们设为private/protected是正交的;当这些没有被删除时,它们默认是public的。在我看来,将

c++ - 字符串不会使用 reverse_copy 反转

如果我有一个字符串A等于"abc"并且我想要字符串B这是字符串A,为什么我不能使用reverse_copy()来做到这一点?std::stringA="abc";std::stringB;std::reverse_copy(A.begin(),A.end(),B.begin());std::coutreverse_copy()可用于字符串吗?reverse()似乎有效。 最佳答案 您尝试复制到的string太短(零长度)。你必须让它足够长才能接受复制的数据:std::stringA="abc";std::stringB;B.resi

c++ - 字符串不会使用 reverse_copy 反转

如果我有一个字符串A等于"abc"并且我想要字符串B这是字符串A,为什么我不能使用reverse_copy()来做到这一点?std::stringA="abc";std::stringB;std::reverse_copy(A.begin(),A.end(),B.begin());std::coutreverse_copy()可用于字符串吗?reverse()似乎有效。 最佳答案 您尝试复制到的string太短(零长度)。你必须让它足够长才能接受复制的数据:std::stringA="abc";std::stringB;B.resi

linux - 如何判断我是否在 screen 中?

在linux中使用screen时,如何判断我是否在screen中?我可以执行exit,如果我在其中,我会退出一个screen,但如果我不在,那么我最终会关闭我的终端。在执行screen-r时,我可以查看是否附加了其他screen,但我如何知道我当前的终端是否是这些附加screen之一? 最佳答案 检查$STY。如果它为空,则您在“真实”终端上。如果它包含任何内容,它就是您所在screen的名称。如果您不在screen中:eric@dev~$echo$STYeric@dev~$如果你在screen上:eric@dev~$echo$ST

linux - 如何判断我是否在 screen 中?

在linux中使用screen时,如何判断我是否在screen中?我可以执行exit,如果我在其中,我会退出一个screen,但如果我不在,那么我最终会关闭我的终端。在执行screen-r时,我可以查看是否附加了其他screen,但我如何知道我当前的终端是否是这些附加screen之一? 最佳答案 检查$STY。如果它为空,则您在“真实”终端上。如果它包含任何内容,它就是您所在screen的名称。如果您不在screen中:eric@dev~$echo$STYeric@dev~$如果你在screen上:eric@dev~$echo$ST

linux - 如何在切片的 "screen"终端中上下滚动

我刚刚安装了screen并且喜欢将linux终端分成多个部分的想法。但我无法弄清楚一件事:当我在screen中时,如何上下滚动。当我使用常规linux终端时,我可以使用Shift+PgUp或Shift+PgDn来实现这一点`。但不幸的是,它在分开的终端中不起作用。这就是我所说的screen和分割终端的意思:这是一个常规的终点站(以防万一): 最佳答案 1.Ctrl+A,然后Esc2.之后,您应该可以使用箭头键移动光标:↑、↓、PgUp、PgDn有时使用鼠标滚轮3.返回控制:Q或Esc 关