小编Joh*_*est的帖子

为什么隐式复制构造函数调用基类复制构造函数而定义的复制构造函数不?

考虑一个类层次结构,其中A是基类并B派生自A.

如果未定义复制构造函数B,编译器将合成一个.调用时,此复制构造函数将调用基类复制构造函数(即使是合成的构造函数,如果用户没有提供).

#include <iostream>

class A {
    int a;
public:
    A() {
        std::cout << "A::Default constructor" << std::endl;
    }

    A(const A& rhs) {
        std::cout << "A::Copy constructor" << std::endl;
    }
};

class B : public A {
    int b;
public:
    B() {
        std::cout << "B::Default constructor" << std::endl;
    }
};

int main(int argc, const char *argv[])
{
    std::cout << "Creating B" << std::endl;
    B b1;
    std::cout << "Creating …
Run Code Online (Sandbox Code Playgroud)

c++ language-design copy-constructor

35
推荐指数
2
解决办法
1万
查看次数

在Octave中打印情节在背景中

目前,我用来print -dpng foo.png在Ubuntu上打印一个在Octave 3.0.1中存档的图.

有时,我会在循环中生成数千个图像.

每当弹出一个新图像时,它会抓取鼠标控制,使我无法进行多任务处理.

无论如何都要默默地或安静地打印?

gnuplot octave

8
推荐指数
1
解决办法
3790
查看次数

Linux - 按名称的一部分对文件进行排序(无分隔符)

我想得到一个排序的文件列表.文件具有以下命名约定:

DATENUMBER.txt (没有空格).

例如,文件32015-12-09的样子:201512093.txt

version sort的选项ls并不能帮助我:

ls -v:
201512183.txt
201512184.txt
201512188.txt
201512191.txt
201512195.txt
201512199.txt
2015121810.txt
2015121813.txt
2015121910.txt
2015121911.txt
2015121932.txt
Run Code Online (Sandbox Code Playgroud)

sort -V,--key=1.[number] 不要工作,因为我有不同的文件名长度.

因为我在日期和数字之间没有分隔符,sort -t, -k所以也不起作用.

可以看出,我需要按文件名中的前8个符号对文件列表进行排序,然后按行的其他部分对文件列表进行排序.

预期产量:

201512183.txt
201512184.txt
201512188.txt
2015121810.txt
2015121813.txt
201512191.txt
201512195.txt
201512199.txt
2015121910.txt
2015121911.txt
2015121932.txt
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做(使用)?谢谢.

linux sorting bash

6
推荐指数
1
解决办法
859
查看次数

使用Gnuplot有条件地绘制点颜色

我有一个包含四列数据的文件.我只使用前三个绘制3D绘图,现在不需要第四个绘图.

我想知道如果它满足某些条件,如何改变点的颜色.例如,如果点的值(x,y,z)大于(16,400,65),我想将其绘制为灰色.如果它们比那个小,我想用红色.

我试图使用awk同样的东西,它只是用不同的颜色绘制两个点.这是我的代码.

gnuplot>splot "< awk '{if( ($2 > \"16\") || ($1 > \"400\") || ($3 > \"65\"))  print}'                                       
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "grey", \
"< awk '{if( ($2 < \"16\") || ($1 < \"400\") || ($3 < \"65\"))  print}' 
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "red", \
"./8_77_pareto_data.dat" u 2:1:3 w i lt 1 lc rgb "blue" t "Pareto points"
Run Code Online (Sandbox Code Playgroud)

我的数据文件如下所示:

48      15.057599573464184 …
Run Code Online (Sandbox Code Playgroud)

gnuplot

5
推荐指数
1
解决办法
5695
查看次数

Android模拟器OpenGl运行应用程序时出错

在 Android 模拟器中运行应用程序时,出现以下错误

错误:

[2014-08-20 13:15:29 - 模拟器] sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glActiveTexture:145 错误 0x500

上述错误是什么意思以及如何修复它。

eclipse android android-emulator cordova

5
推荐指数
0
解决办法
246
查看次数

检测自定义形状 OpenCV

我想在 OpenCV 中找到自定义形状。形状是先前定义的。我想使用网络摄像头实时检测此形状是否等于或不等于当前形状。

我怎样才能做到这一点?如何比较预定义的自定义形状和当前形状?

opencv real-time shape detection

5
推荐指数
1
解决办法
4147
查看次数

如何在c ++中杀死进程,只知道其部分名称

前段时间我需要编写c ++代码来杀死某些进程.在我的主程序中,我使用系统("...")运行大型CAE系统包,输入时使用不同的文件名字符串.CAE软件创建许多进程,包含进程名称字符串filename).一些CAE流程的工作时间 > MAX_TIME,比我更需要关闭它们:

//filename contains part of CAE-process name
    string s="/bin/kill -9 `ps aux | grep "+filename+" | awk {'print $2'}`";
    system(s.c_str());
Run Code Online (Sandbox Code Playgroud)

输出是:

Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal …
Run Code Online (Sandbox Code Playgroud)

c++ unix linux kill process

4
推荐指数
1
解决办法
2万
查看次数

下载文件,同时还更新JProgressBar

我已经尝试了不同方法的音调来使其工作,但它们要么不使用进度条,要么不按照我希望的方式工作.

我已经创建了一个带有进度条的新窗口,需要创建一个允许我下载文件同时更新a的方法JProgressBar.有一个Apache Commons方法非常容易用于下载文件,但它似乎与它们不兼容JProgressBar.

我在另一个线程中运行它时遇到了麻烦,SwingUtilities.invokeLater似乎没有更新到进度条,但它确实运行,因为我可以将它打印到控制台.我甚至尝试过这种progressBar.repaint()方法.

所以我想要的是一种方法,可以下载文件,同时也更新一个JProgressBar以反映下载的状态.

提前致谢!基尔

java file download jprogressbar

4
推荐指数
1
解决办法
1万
查看次数

我无法弄清楚这个线程有什么问题,我试图理解多线程

我很抱歉这太长了,而且可能看起来太多了,但如果你能一目了然地弄清楚什么是错的,请告诉我.

在这个程序中,我尝试在每次获取一个令牌时从键盘输入一些单词(短语)并将其分配给一个对象sharedStorer(然后打印指定的值以跟踪输入内容,因为我有一个单独的输入字链) .这是由一个线程完成(类的主题Retriever,其implements Runnable)

还有另一个线程class TokenReader读取值sharedStorer并将其打印出来.TokenReader等待Retriever输入,当Retriever尝试输入时TokenReader尚未读取前一个令牌Retriever等待.

我的问题是,最后TokenReader等待永远Retriever完成其任务,因此程序永远不会终止.

这是我用来执行所需任务的所有4个类(和1个接口).

package Multithreads;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ExerciseTest {


public static void main(String[] args) {

    ExecutorService app=Executors.newFixedThreadPool(2);

    Storer st=new SyncStorer();

    System.out.println("Operation performed\t\t Value");
    try{
    app.execute(new Retriever(st));
    app.execute(new TokenReader(st));
    }catch(Exception e){
        e.printStackTrace();
    }
    app.shutdown();
}

}
Run Code Online (Sandbox Code Playgroud)
package Multithreads;

public interface Storer {

public void set(String token);
public String …
Run Code Online (Sandbox Code Playgroud)

java multithreading

3
推荐指数
1
解决办法
325
查看次数

bash,查找包含文件名号的文件

在bash中,我想使用该命令find查找在某个位置包含40到70之间的数字的文件,如c43_data.txt.如何实现此过滤器find

我试过了file . -name "c**_data.txt" | grep 4,但这不是很好.

谢谢

bash find

2
推荐指数
1
解决办法
6099
查看次数

如何链接到外部Doxygen html文件中的特定部分?

假设我在doxygen页面中有一个部分page_Examples叫做section_Example.是否可以直接链接到该部分?

链接到页面已完成\link page_Examples Examples \endlink,但我想直接进入该部分!谢谢.

documentation doxygen hyperlink

2
推荐指数
1
解决办法
3743
查看次数

如何摆脱 cut() 生成的因子的科学记数法

如何摆脱factor变量的默认科学记数法?R当我在当前情况下有 3 个或更多数字时使用它。

我查看了其他答案(scipenotherformat),但它们似乎不适用于factor变量。

然后我在图例中使用这个因子变量,并且我需要整数或定点值。

options(scipen=999)
plot(0,0, type="l", lty=1, lwd=4);

var1 <- c(3334,341,36,341,456)
cut1 <- cut(var1, breaks=2)
cut1<-levels(cut1)
cut1<-gsub(","," - ",cut1)
cut1<-gsub("\\(","[",cut1)
#cut1 <- as.character(cut1);
#formatC(cut1, digits="10", format="f")
cut1
Run Code Online (Sandbox Code Playgroud)

[1]“[32.7 - 1.68e+03]”“[1.68e+03 - 3.34e+03]

我想要这样的东西:

[1]“[32.7 - 1680]”“[1680 - 3340]”

r scientific-notation

2
推荐指数
1
解决办法
1365
查看次数

如何以正确的方式从容器中删除QSharedPointer

QVector<QSharedPointer<SomeData> > DataVec在一个面向对象的大项目中,我有一个班级的领域.程序在循环执行代码部分期间获得内存溢出,其中分配了大内存,由QSharedPointers控制.

在程序运行周期中,DataVec充满了

DataVec.push_back(QSharedPointer<SomeData>(new SomeData()));
Run Code Online (Sandbox Code Playgroud)

QSharedPointer调用后会被删除(发布)DataVec.pop.back()还是DataVec.clear()

我想不是.我们必须显式调用析构函数QSharedPointer(我在Qt中也看不到像boost :: shared_ptr :: reset()这样的方法).比,SomeData默认的析构函数(SomeData只有标准Qt容器为域)将被调用,如果我们没有更多的QSharedPointers那点SomeData实例而言,和内存将被释放.现在,我只做pop_back():似乎,我只是松散指向未发布的数据(执行后,valgrind表示我肯定丢失了块,我想它们来自这里).

所以,最后,我是对的吗?我怎样才能QSharedPointer以正确的方式从容器中删除

编辑1:Qt中的boost :: shared_ptr :: reset()方法是QSharedPointer::clear().

c++ qt containers shared-ptr qsharedpointer

1
推荐指数
1
解决办法
3890
查看次数