小编Tia*_*ian的帖子

我必须在C++中删除静态数组吗?

我写的代码如下:

while(true) {
    int array[5];
    // do something
}
Run Code Online (Sandbox Code Playgroud)

对于循环的每个回合,该数组是一个新数组.我是否需要在循环结束时删除数组?

c++ arrays memory-management

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

我可以在python 2中使用TLS 1.1或1.2版吗?

我读了一份文件,说Python 2只具有ssl.PROTOCOL_TLSv1恒定的,而且ssl.PROTOCOL_TLSv1_1ssl.PROTOCOL_TLSv1_2在Python 3.4中添加.那么如何在Python 2中使用TLS 1.1和1.2呢?

PS.我不想使用TLS 1.0,因为它有一些安全漏洞.TLS 1.2现在是最新版本,所以我想让我的程序只使用TLS 1.2; 如果服务器不支持TLS 1.2,那么只是使连接失败.

python ssl openssl

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

为什么X(X&)可以被调用两次?

我写了这段代码:

    struct X{
        int val;

        void out(const string& s, int nv)
            {cerr<<this<<"->"<<s<<": "<<val<<"("<<nv<<")\n";}

        X() {out("X(int)",0); val=0;}
        X(int v){out("X(int)",v); val=v;}
        X(const X& x){out("X(X&)",x.val); val=x.val;}
        X& operator=(const X& a)
            {out("X::operator=()",a.val); val=a.val; return *this;}
        ~X() {out("~X()",0);}
    };

    X copy(X a) {return a;}

    int main{
        X loc2;
        X loc(5);
        loc2 = copy(loc);
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

输出是这个(在VS2010中):

003BFAA0->X(int): -858993460(0)
003BFA94->X(int): -858993460(5)
003BF964->X(X&): 723486321(5)
003BF994->X(X&): -858993460(5)
003BF964->~X(): 5(0)
003BFAA0->X::operator=(): 0(5)
003BF994->~X(): 5(0)
Run Code Online (Sandbox Code Playgroud)

前两行很好.但第三和第四行表明它调用了X(X&)两次.副本(X a)中只有一个"X a".为什么X(X&)可以被调用两次?

c++ constructor destructor

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

字符串的Python循环 - 为什么'none'来了?

使用python循环时我有一个奇怪的问题.这对我来说可能很容易但很奇怪.假如我有一个字符串列表:

seqs=['AA', 'AT']
Run Code Online (Sandbox Code Playgroud)

然后我想在列表中打印出元素.一种方法(方法1)是使用for循环:

for seq in seqs:
    print seq
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.同时,我定义了一个'print'函数(方法2)来打印:

def print0(s):
    print s

[print0(s) for s in seqs]
Run Code Online (Sandbox Code Playgroud)

如果我使用'print0'函数打印输出值,这是输出:

AA
AT
[None, None]
Run Code Online (Sandbox Code Playgroud)

我想知道为什么这里有两个'None'值,因为当我使用方法1时这两个值不会出现?我想通过使用并行技术来执行for循环,但是使用'None'值,包中的delayed函数joblib无法工作.谢谢.更新:如果我想要并行:

Parallel(n_jobs=2)(delayed(print0)(seq) for seq in seqs)
Run Code Online (Sandbox Code Playgroud)

它会给出一条错误消息:

TypeError: expected string or Unicode object, NoneType found
Run Code Online (Sandbox Code Playgroud)

python for-loop parallels

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

如何通过R中的每一列子矩阵

在R中如果我有一个矩阵说:

1 2 3
1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)

是否有一种快速的方法将每个列的矩阵划分为子矩阵?分开后,左边的部分是:

1
1
1
Run Code Online (Sandbox Code Playgroud)

然后

1 2
1 2
1 2
Run Code Online (Sandbox Code Playgroud)

然后

1 2 3
1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)

r matrix

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