小编zle*_*nyk的帖子

C++不同的模板方法调用同一个变量

有人可以解释为什么一次使用方法c(T*)和下一次d<>(int*)?方法cd我似乎完全相同,我无法弄清楚为什么不是同一类型的方法调用.

#include <iostream>
using namespace std;

template<typename T>
void c(T){ cout <<"(T)" << endl; }

template<>
void c<>(int*){ cout <<"(int*)" << endl; }

template<typename T>
void c(T*){ cout <<"(T*)" << endl; }

template<typename T>
void d(T){ cout <<"(T)" << endl; }

template<typename T>
void d(T*){ cout <<"(T*)" << endl; }

template<>
void d<>(int*){ cout <<"(int*)" << endl; }

int main(){
    int i;
    c(&i);
    d(&i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

(T*)
(int*)
Run Code Online (Sandbox Code Playgroud)

c++ templates template-specialization

17
推荐指数
2
解决办法
570
查看次数

Crontab - 简单的echo不运行

我有这样的情况:我想在linux服务器上安排crontab的工作.我不是超级用户,所以我正在编辑(使用crontab -l,编辑器vim)只有我的crontab文件.为了测试,我把它放在那里:

* * * * * echo asdf
Run Code Online (Sandbox Code Playgroud)

这项工作没有开始.是否需要重启服务器?或者也许有些管理员搬家?

linux cron scheduling

16
推荐指数
2
解决办法
3万
查看次数

C read()添加了奇怪的字符

我有这样的代码:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
int main(){
    char input[100];
    while(1){
        int k = read(0,input,100);
        if(k == 0) break;
        write(1,input,strlen(input));
    }
}
Run Code Online (Sandbox Code Playgroud)

在stdin上添加一些行之后,例如:
示例
示例示例
...

它通常不会显示.相反,在输入块的末端附近总会有一些奇怪的字符.有人可以解释一下吗?

c posix

5
推荐指数
2
解决办法
1667
查看次数

如何在VirtualBox中将链接克隆与完整克隆区分开来?

我有一个虚拟机列表.我知道他们中的大多数只是几个基础克隆的克隆.如何确定VM是完整克隆还是链接克隆?链接的克隆是否有自己的磁盘,或者只是它们基础的差异图像?

virtualbox clone

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

如果分配后

有人能告诉我这条线在perl中应该做什么:

$result{$key} .= ";" if (exists($result{$key}));
Run Code Online (Sandbox Code Playgroud)

看起来它增加了";" 在密钥结束时,它已经存在,是真的吗?是否与在分配前使用"if"语句不同?

perl if-statement

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

静态初始化C++,未设置值

我正在编写一个带有几个文件的程序,让我们假设所有包含都可以.这是缩短的代码.ZZ.hpp:

class ZZ
{
    public:
        ZZ(ZZ const & a) { mpz_init_set(data, a.data); }
        ZZ(int a = 0) { mpz_init_set_si(data, a); }
.
.
.
Run Code Online (Sandbox Code Playgroud)

ZZmodN.hpp:

template <unsigned ID>
class ZZmodN
{
    public:
    ZZmodN() = default;
    ZZmodN(ZZmodN const &) = default;
    template <typename T>
    ZZmodN(T const & a) : value(a) { value %= modulus; }
.
.
.    
    private:
    ZZ value;
    static ZZ modulus;
};
template <unsigned ID>
ZZ ZZmodN<ID>::modulus(19);
.
.
.
Run Code Online (Sandbox Code Playgroud)

Polynomial.h:

class Polynomial{
    public:
    std::vector<ZZmodN<0> > co;
    Polynomial(){}; …
Run Code Online (Sandbox Code Playgroud)

c++ static initialization

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