小编Jea*_*Luc的帖子

数组,向量,内置类型,STL的C++模板函数

我想创建一个具有将发送给它的数据保存到文本文件的函数的类.可以传递给它的数据可以像一个东西std::string,int,double,float,unsigned int,等,也可以是:std::vector<T>,T[],和std::vector<std::vector<T>>,T[][].

现在,显然如果它是一个数组,我将需要迭代它以将数据发送到文本文件.

我在考虑使用模板,但我不知道如何做数组.

这是要走的路吗?

class CMyClass
{
    template<typename T>
    void SaveData(T data);
    void SaveData(std::vector<T> data);
    void SaveData(std::string data);
    void SaveData(T* data);                // Perhaps I'll also need to pass in the size.
    void SaveData(std::vector<std::vector<T>> data);
    void SaveData(T** data);
};
Run Code Online (Sandbox Code Playgroud)

我想,对于代码std::string将是相同的代码std::vector<T>提供了T一个内置式(如一个intfloat什么的).

然后我为每个SaveData(...)相应的函数编写函数?

c++ templates

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

Ruby暂停线程

在ruby中,是否可能导致线程从另一个并发运行的线程暂停.

下面是我到目前为止编写的代码.我希望用户能够输入'pause thread'和sample500线程来暂停.

#!/usr/bin/env ruby

# Creates a new thread executes the block every intervalSec for durationSec.
def DoEvery(thread, intervalSec, durationSec)
    thread = Thread.new do
        start = Time.now

        timeTakenToComplete = 0
        loopCounter = 0
        while(timeTakenToComplete < durationSec && loopCounter += 1)

            yield

            finish = Time.now

            timeTakenToComplete = finish - start

            sleep(intervalSec*loopCounter - timeTakenToComplete)    
        end
    end
end

# User input loop.
exit = nil
while(!exit)
    userInput = gets
    case userInput
    when "start thread\n"
        sample500 = Thread
        beginTime = Time.now
        DoEvery(sample500, 0.5, …
Run Code Online (Sandbox Code Playgroud)

ruby multithreading thread-safety

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

OpenCV“几乎”闭合轮廓

我试图从图像中提取立方体(看起来像一个正方形......)。我使用了 canny 和 dilate 来获取边缘并去除噪音。

我什至不确定是否有可能以稳健的方式将正方形弄出来。

建议赞赏!

图片

谢谢。

c++ opencv

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

Gnuplot:Logscale似乎搞砸了

我放了一个xlogscale,它弄乱了网格线的绘图.主要的x网格线不再与主要的y网格线相同,它们是次要x和y网格线的灰色.

以下图片显示了这一点.

关于如何解决这个问题的任何想法?

谢谢

logscale

没有logscale

#!/usr/bin/env gnuplot

set term pdfcairo size 15cm,10cm
set output 'FFT.pdf'

set datafile separator '    '
unset key

set border lw 4 back

set grid mxtics mytics xtics ytics lt 1 lc rgb 'gray70', lt 1 lc rgb 'gray90'

set mxtics 5
set mytics 5

set xrange [10:10e3]

set title 'Harmonic Distortion'
set xlabel 'Frequency [Hz]'
set ylabel 'Output Voltage [dB]'

set mxtics 10
set logscale x 10

plot 'FFT.dat' using ($1):(20*log10((($2**2)+($3**2))**0.5)-5.49074) with lines lw 4 lc …
Run Code Online (Sandbox Code Playgroud)

gnuplot

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

Vim:为什么$为终点线?

我是Vim的新手,我很好奇为什么$会习惯于走到最后.因此,举例来说,0把我带到开头至少会产生某种意义(键盘上的第一个数字转到第一个字母的行 - 可以理解).

是否有任何逻辑$或者它是完全随意的?

我在想$馅饼,直到我记得它把我带到了最后!

谢谢!

vim

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

Gnuplot:具有不同颜色的数据块

我有一个包含多个的数据文件,例如

x1 y1
x2 y2
x3 y3
x4 y4


x1 y1
x2 y2
x3 y3
x4 y4


x1 y1
x2 y2
x3 y3
x4 y4
Run Code Online (Sandbox Code Playgroud)

我想将每个块默认为不同的颜色.如果这些块中的每一个都在一个单独的文本文件中,这不会是一个问题,因为Gnuplot默认这样做.任何人都知道如何以不同的颜色获得每个地块的块(最好不管我有多少块)?

谢谢.

gnuplot

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

Stringstream to vector <int>

我想知道什么是最好的方法,从一个写std::stringstreamvector<int>.

以下是以下内容的示例stringstream: "31 #00 532 53 803 33 534 23 37"

这是我得到的:

int buffer = 0;
vector<int> analogueReadings;
stringstream output;

 while(output >> buffer)
     analogueReadings.push_back(buffer);
Run Code Online (Sandbox Code Playgroud)

然而,似乎发生了什么,它首先读取,然后它到达#00并返回,0因为它不是一个数字.

理想情况下,我想要的是,它到达a #然后只是跳过所有字符直到下一个空格.这可能是旗帜或其他什么?

谢谢.

c++ stringstream visual-studio-2010 lexical-cast

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

将数组中的项移动到另一个数组

我们假设我们有数组x = ['a', 'b', 'c']y.有没有一种简单的方法来移动,比如,第二个元素x,到y?所以到最后,x['a', 'c']y['b'].

ruby

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

C方法将函数作为参数传递给函数

我注意到似乎有不同的方法将函数作为参数传递给另一个函数.原型是:

void foo1(double f(double));
Run Code Online (Sandbox Code Playgroud)

void foo2(double (*f)(double));
Run Code Online (Sandbox Code Playgroud)

这两者有区别吗?他们是以同样的方式实施的吗?有没有其他方法来传递函数?

c function-pointers function

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

围绕特定频率的许多细节FFT

我有一个任意信号,我需要知道信号的频谱,我通过FFT得到.问题是,我需要大量的分辨率只有围绕这一特定频率.问题是,如果我增加窗口宽度,或者如果我提高采样率,那就太慢了,我到处都会得到很多细节.我只希望在一个方面有很多细节,在其他地方只需要很少的细节.

我尝试在我需要的区域周围使用Goertzel滤波器,然后在其他地方进行FFT,但这并没有让我得到更多的分辨率,我认为这是预期的.

有任何想法吗?我目前唯一的想法是围绕我想要的价值进行扫描和内部产品.

谢谢.

python numpy fft scipy

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