小编Iiz*_*uki的帖子

为什么某些最新版本的 ghc 不被“推荐”?

为什么同时有这么多“活跃”版本的 ghc?我相信有一些技术原因,但无法弄清楚到底是什么..

ghcup 显示 ghc 的 11 个版本,其中之一被标记为推荐版本。我找不到一些解释为什么推荐该版本,你......

我只是想理解为什么不推荐最后一个版本,以及为什么不只有一个版本与该语言和库的多个版本兼容。我假设这是一个很难解决的问题,但无法弄清楚为什么。

请注意:我现在使用 haskell 一段时间了,但无论如何都不是专家。

haskell ghc

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

将输入参数作为右值引用传递?

将参数作为右值引用传递只是为了清楚表明您将要操作参数是个好主意吗?有点像 const 正确性的反面。

例如,这个函数接受一个字符串向量,以某种方式对其进行操作并返回一个布尔值:

static bool isThisSomething(std::vector<string>&& input1);
Run Code Online (Sandbox Code Playgroud)

现在如果调用者想用左值调用这个函数,他必须使用std::move()并承认这个向量会被弄乱。这应该可以防止意外的副作用。

std::vector<std::string> lvalueVector = {"foo", "bar"};
bool somethingness = isThisSomething(std::move(lvalueVector)); 
Run Code Online (Sandbox Code Playgroud)

澄清:
这样isThisSomething做的操作只是一些内部逻辑的一部分,对于调用者来说似乎是无稽之谈。

c++ rvalue-reference pass-by-rvalue-reference

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