小编Tom*_*ota的帖子

NaN何时不在C++中传播?

NaN通过"大多数"操作传播,如NaN - Wikipedia中所述.

我想知道NaN不传播的操作.例如,我在C++中编码,发现下面的代码打印1,这不是NaN.

const double result = std::pow(1, std::numeric_limits<double>::quiet_NaN());
std::cout << result << std::endl;
Run Code Online (Sandbox Code Playgroud)

对于std::pow函数,此行为在std :: pow - cppreference.com中描述.

你能分享一下其他的例子吗?

c++ nan

6
推荐指数
3
解决办法
309
查看次数

“git merge --squash”的正确用例是什么?

有些人喜欢git merge --squash的原因如下:

压缩到单个提交让您有机会清理杂乱的 WIP 提交,并为您正在合并的更改提供一个很好的理由。

https://coderwall.com/p/qkrmjq/git-merge-squash

但是,我认为有一些缺点超出了制作干净历史的优点。

  1. git merge --squash产生一个非合并提交。因此,Git 不会将您正在合并的提交识别为合并基础。当 1) 在分支 X 上将 A 更改为 B,2)git merge --squash从分支 X 到分支 Y,以及 3) 在分支 X 上将 B 更改为 A(还原),以及 4) 将 X 合并到 Y 时,这会导致不需要的合并结果。在此处输入图片说明 在第 4 步之后,在分支 Y 上,从 A 到 B 的更改不会恢复。这里,这是 3 路合并,因此比较从分支 X 到合并基的差异和从分支 Y 到合并基的另一个差异。前者包括没有变化,后者包括从A到B的变化,所以合并结果包括从A到B的变化。

  2. 提交作者被覆盖,这会丢弃贡献。git merge --squash产生一个名为 who did 的新提交git merge --squash。当然,提交内容来自原始提交。这听起来像是在窃取贡献。这成为https://github.com/Microsoft/winfile/pull/42#issuecomment-380681627 中的一个问题

什么是正确的用例git merge --squash

git merge squash 3-way-merge merge-base

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

PowerShell是否支持glob模式中的否定语法?

在Linux中,击支持在glob模式否定语法[!abc]为比其它一个字符a,bc.

我试图在PowerShell中找到类似的东西.

Cmdlet参数中支持通配符时,没有与否定相关的描述.此外,当test.txt存在时,我确认了以下内容,这表明!不支持像Bash这样的否定语法.

  • ls tes[!s].txt 没有回报.
  • ls tes[!t].txt 回报 test.txt

PowerShell是否支持glob模式中的否定语法?如果没有,你能分享一些选择吗?

powershell glob

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

标签 统计

3-way-merge ×1

c++ ×1

git ×1

glob ×1

merge ×1

merge-base ×1

nan ×1

powershell ×1

squash ×1