假设我有回购,每次推送(构建)启动4个工作(不同的环境/编译器等).
建设有时间限制 - 50分钟.是否计算为所有构建的时间总和(如左图所示),或者它是否与每个作业无关?
示例:4个构建,每个花费20分钟 - 它会超时因为它将是80分钟的计数器还是可以计算为20分钟(最长工作的时间)?
我有一个项目使用几个(目前〜6)依赖项(其他库)。它们中的大多数都使用 MIT/简化的 BSD 许可证,因此将它们复制到我的存储库应该不是问题。
将所有这些库放入我的存储库并推送它们(当新版本出现时,也更新它们)是否是一个好习惯?或者我的项目存储库应该只包含项目文件(代码、资产等)?
优点:
缺点:
项目回购中的膨胀
必须手动更新依赖项
如果我想粘贴也构建的版本,我将不得不粘贴很多
文件,这会占用大量空间,所以可能只坚持源代码?
有些库可能没有那么好的许可证,直接使用它们(除了要求用户自己获取有效的库之外)并将它们放在我的存储库中可能会带来一些麻烦
拥有更多项目来保持依赖关系意味着我必须同时更新所有项目的它们(例如,如果我根据当前项目(它的库)创建一些其他项目,那么它们都将具有相同的依赖关系)
我正在玩移动构造函数和移动任务,我偶然发现了这个问题.第一个代码:
#include <iostream>
#include <utility>
class Foo {
public:
Foo() {}
Foo(Foo&& other) {
value = std::move(other.value);
other.value = 1; //since it's int!
}
int value;
private:
Foo(const Foo& other);
};
void Bar(Foo&& x) {
std::cout << "# " << x.value << std::endl;
}
int main() {
Foo foo;
foo.value = 5;
Bar(std::move(foo));
std::cout << foo.value << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我看来,当我使用:
Bar(std::move(foo));
Run Code Online (Sandbox Code Playgroud)
程序应该将foo对象"移动"到使用Bar函数中的move构造函数创建的临时对象.这样做会使foo对象的值等于零.不幸的是,它接触Bar函数中作为参数保存的对象是某种参考,因为它不会"移动"原始值,但使用Bar的参数我可以更改它.
有人会介意我为什么在控制台看到我:
#5
5
Run Code Online (Sandbox Code Playgroud)
代替
#5
0 //this should be done by move constructor?
Run Code Online (Sandbox Code Playgroud) 有没有办法将成员函数绑定到成员变量之类的东西?
假设我有简单的向量结构:
struct Vec3 {
int x, y, z;
Vec2 xy() const { return Vec2(x, y); }
Vec2 xz() const { return Vec2(x, z); }
Vec2 yz() const { return Vec2(y, z); }
}
Run Code Online (Sandbox Code Playgroud)
现在我可以像这样使用它:
Vec3 t = { 5, 3, 2 };
Vec2 s = t.xy() + t.yz();
Run Code Online (Sandbox Code Playgroud)
但有没有一种方法可以像这样使用它:
Vec3 t = { 5, 3, 2 };
Vec2 s = t.xy; // this here ? execute function without '()'.
Run Code Online (Sandbox Code Playgroud) 所以我知道:
(.) = (f.g) x = f (g x)
Run Code Online (Sandbox Code Playgroud)
它的类型是(B-> C) - >(A-> B) - > A-> C但是怎么样:
(.)(.) = _? = _?
Run Code Online (Sandbox Code Playgroud)
这是如何表示的?我想到了:
(.)(.) = (f.g)(f.g)x = f(g(f(g x))) // this
(.)(.) = (f.g.h)x = f(g(h x)) // or this
Run Code Online (Sandbox Code Playgroud)
但就我试图获得它的类型而言,GHCi告诉我的不正确.那么什么都是"_?"
另外 - 函数/运算符$做什么?