我写的代码如下:
while(true) {
int array[5];
// do something
}
Run Code Online (Sandbox Code Playgroud)
对于循环的每个回合,该数组是一个新数组.我是否需要在循环结束时删除数组?
我读了一份文件,说Python 2只具有ssl.PROTOCOL_TLSv1恒定的,而且ssl.PROTOCOL_TLSv1_1和ssl.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,那么只是使连接失败.
我写了这段代码:
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&)可以被调用两次?
使用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) 在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)