小编Mic*_*ael的帖子

这种typedef定义是什么意思?

我见过以下(C++):

typedef n *(m)(const n*, const n*);
Run Code Online (Sandbox Code Playgroud)

它是什么意思,怎么用?

我理解这个:

typedef n (*myFunctP)(const n*, const n*);
Run Code Online (Sandbox Code Playgroud)

但上面的typedef有什么区别?

(希望这没有重复,没有找到类似的东西...)

c++ typedef

9
推荐指数
2
解决办法
274
查看次数

覆盖Delphi函数System.Round

我刚刚发现我必须重新实现的软件广泛使用System.Round().问题是这个函数使用"Bankers rounding",并且不能像Math.RoundTo()(rmDown,rmUp,rmNearest,rmTruncate)那样改变行为.

我必须将行为更改为"正常舍入"(12.5 - > 13 NOT 12.5 - > 12)...所以我想全局覆盖System.Round().我想这样做,因为Round()被使用了很多次,我不想手动更改它们.

这怎么可能?

delphi overriding rounding

8
推荐指数
2
解决办法
2029
查看次数

R:geom_point - 如何在图上显示统计数据

我使用geom_pointfrom 制作了一个数字ggplot2(只显示了它的一部分).颜色代表3个类.黑条是卑鄙的(与问题无关).

geom_point图的一部分

数据结构如下(存储在列表中):

                     V1  V2     V3
1            L.  brevis   5 class1
3               L.  sp.  13 class1
4         L.  rhamnosus  14 class1
5          L.  lindneri  17 class1
6         L.  plantarum  17 class1
7       L.  acidophilus  18 class1
8       L.  acidophilus  18 class1
10        L.  plantarum  18 class1
...                 ...  ..    ...
Run Code Online (Sandbox Code Playgroud)

V2数据点在y轴上的位置在哪里,V3是类(颜色).

现在我想在图中显示三个类中每个类的百分比(或者甚至可以作为饼图:-)).我在图像上为"嗜酸乳杆菌"做了一个例子(66.7%/ 33.3%).

理想情况下解释组的图例也由R生成,但我可以手动完成.

我怎么做?

忘了在"L. acidophilus"栏上添加第3组的0%...对不起.

编辑:这里的ggplot2代码:

p <- ggplot(myData, aes(x=V1, y=V2)) +
  geom_point(aes(color=V3, fill=V3), size=2.5, cex=5, shape=21, stroke=1) +
  scale_color_manual(values=colBorder, labels=c("Class …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何使用这个操纵器

这是一个学校的练习,所以请提供一些提示,没有完整的例子;-)

我有自己的操纵者:

template<typename T, typename Tr=char_traits<T> >
ios_base& toggle(basic_ios<T,Tr>& io)
{
    if(io.flags() & ios::scientific)
    { io.unsetf(ios::scientific); io.flags(ios::fixed); }
    else { io.unsetf(ios::fixed); io.flags(ios::scientific); }
    return io;
 }
Run Code Online (Sandbox Code Playgroud)

我写了这个,因为我必须用表单编写一个操纵器ios_base& my_manip(basic_ios&).

如果我像这样使用它(不使用返回值):

toggle(cout);
Run Code Online (Sandbox Code Playgroud)

......工作正常 但如果我这样使用它:

toggle(cout) << 54444.6456555 << endl;
Run Code Online (Sandbox Code Playgroud)

这不起作用(因为std :: ios_base没有如下所述的operator <<()).

一般来说,我没有得到ios_base& my_manip(basic_ios&)有用的东西......你有一个提示/例子吗?


你们已经帮了我很多!我仍然不明白,是通过basic_ios和回馈的动机ios_base(因为建议在我必须解决的练习中做...).什么可能是使用这个???

c++ manipulators

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

如何使用 Sphinx 记录 bash 脚本?

我刚刚开始使用 Sphinx (sphinx-doc.org) 来记录 Python 项目。到目前为止,它有效,我能够记录和自动记录我的 Python 代码。

该项目还包含几个 bash 脚本。我也想使用 autodoc 来记录这些 bash 脚本。我没有找到 bash 脚本的特定域。所以我想人们必须使用标准域

你会怎么做(如果可能的话)?我必须如何配置index.rst以及如何在bash脚本中使用reStructuredText?

bash python-sphinx

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

针对特定应用程序更快地替代 bash `cut`

我有一个非常大的制表符分隔文件。制表符分隔的文件是二进制的,将由该工具进行流式传输samtools(速度非常快,不是瓶颈)。现在我只想输出第一个选项卡之前的内容。

在我当前的管道命令中cut是瓶颈:

samtools view -@ 15 -F 0x100 file.bam | cut -f 1 | pigz > out.gz
Run Code Online (Sandbox Code Playgroud)

我尝试使用awk '{print $1}'. This is not sufficiently faster I also tried using 平行in combination with切割,但这也不会提高太多速度。

我想最好有一个工具,它只输出字符串直到第一个选项卡,然后完全跳过整行。

您对更适合我的目的的工具有什么建议吗?我想,理想情况下,人们会编写一个小型 C 程序,但我的 C 有点生疏,所以对我来说会花费太长时间。

c bash performance awk cut

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

Linux Shell脚执行时不保存到临时变量

如果我想在其中执行包含变量的命令,我总是必须先将字符串存储在变量中,然后才能执行它...

例:

path_fasta="/home/xxx/yyy/zzz/qqq/"
name_fasta="CTA_Mix_DNA.fna"
path_outp"/some/Path/"

temp='find . -maxdepth 1 -not -name '$name_fasta' -not -name letsgo.sh -delete'
$temp

temp=$path_mothur'mothur #set.dir(output='$path_outp');summary.seqs(fasta='$path_fasta''$name_fasta')'
$temp
Run Code Online (Sandbox Code Playgroud)

如何直接执行此操作而不先将其存储在temp中?一定很容易,但没有找到解决方案......

linux bash

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

不可内联的功能

我必须显示无法在c ++中内联的函数.

要检查这个,我有标志-Winline设置.

使用递归函数,我能够生成一个无法内联的函数.

但我尝试使用继承和"虚拟"关键字.但我不能让编译器抱怨内联不可能出现问题.

我知道这个话题已经涵盖了很多.但我没有找到一个有效的例子.我的编译器"聪明":-)

我试过这个:

class virt1
{
public:
    virt1(){};
    inline virtual int virtFunc(int a){ return a*a; };
    virtual ~virt1(){};
};

class virt2 : public virt1
{
public:
    virt2(){};
    inline virtual int virtFunc(int a){ return a+a;};
    virtual ~virt2(){};
};

void testVirtFunc(virt2 &obj)
{
     std::cout << obj.virtFunc(2);
}
Run Code Online (Sandbox Code Playgroud)

c++ inline

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

C++汇编程序输出 - 如何实现引用

用于c ++和汇编程序的工具链:GNU

我有以下C++代码:

int main(void)
{
  int i = 33, j = 66;
  swap(i,j);

  cout << i << ", " << j << endl;

  return(0);
}
Run Code Online (Sandbox Code Playgroud)

如果我现在检查生成的汇编代码,我会在swap调用区域中获得以下内容:

movl    $33, -24(%rbp)
movl    $66, -20(%rbp)
leaq    -20(%rbp), %rdx
leaq    -24(%rbp), %rax
movq    %rdx, %rsi
movq    %rax, %rdi
call    _ZSt4swapIiEvRT_S1_
movl    -20(%rbp), %ebx
movl    -24(%rbp), %eax
Run Code Online (Sandbox Code Playgroud)

交换例程本身是:

_ZSt4swapIiEvRT_S1_:
.LFB1232:
.cfi_startproc
pushq   %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq    %rsp, %rbp
.cfi_def_cfa_register 6
movq    %rdi, -24(%rbp)
movq    %rsi, -32(%rbp)
movq    -24(%rbp), %rax …
Run Code Online (Sandbox Code Playgroud)

c++ assembly reference

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