小编von*_*and的帖子

八进制数字文字:什么时候?为什么?自从?

我从来没有在我的代码中使用八进制数字,也没有遇到任何使用它的代码(尽管有十六进制和bit twddling).

我在1994年开始用C/C++编程,所以也许我太年轻了?旧代码使用八进制吗?C包含对这些的支持,前缀为0,但使用这些基数为8的数字的代码在哪里?

c numbers

47
推荐指数
7
解决办法
3万
查看次数

(n&m)<= m总是如此吗?

给定nm无符号整数类型,将表达式

(n & m) <= m
Run Code Online (Sandbox Code Playgroud)

永远是真的吗?

c c++ bit-manipulation

23
推荐指数
3
解决办法
1252
查看次数

适用于Android的代码分析工具

有没有适用于Android的静态代码分析工具,可以通过尝试访问可能为null的对象来获取NullPointerExceptions等简单的东西(不先检查它)...

像C#项目上的resharper这样的工具做得很好,所以我假设Android的Java有类似的工具......

static android code-analysis static-analysis

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

在 Raku 中替代 Perl 的 &lt;&gt;?

在这里学习我在 Raku(neé Perl 6)周围的方式,非常好。但我非常想念<>Perl 5的魔力,在那里你可以:

my $x = <>;
print $x;
while(<>) {
  print join(':', split);
}
Run Code Online (Sandbox Code Playgroud)

(将下一个输入行读入$x,循环其余部分;如果没有给出文件,输入来自命名为输入或标准输入的文件)。“Perl 5 到 6”教程/迁移指南/...只是谈论slurping 整个文件,或open按名称 ing 单个文件。我找不到魔法“按顺序从命名文件中输入”。

我要魔法回来!

migration raku

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

通过的职位太少了,为什么?

sub hanoi(Int:D $n, Str:D $start, Str:D $end, Str:D $extra,
          &move_disk:(Int:D, Str:D, Str:D --> Nil)
          --> Nil)
{
    if $n == 1 {
        move_disk(1, $start, $end);              # Step 1
    }
    else {
        hanoi($n - 1, $start, $extra, $end);     # Step 2
        move_disk($n, $start, $end);             # Step 3
        hanoi($n - 1, $extra, $end, $start);     # Step 4
    }
}

sub print_instruction(Int:D $n, Str:D $start, Str:D $end --> Nil)
{
    say "Move disk #$n from $start to $end";
}
Run Code Online (Sandbox Code Playgroud)

调用hanoi(3, 'A', 'B', …

raku

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

正则表达式/令牌/规则匹配嵌套的花括号?

我需要匹配key = valueBibTeX 文件中对的值,这些文件可以包含任意嵌套的大括号,由大括号分隔。我最多匹配两个深嵌套的花括号,就像{some {stuff} like {this}}kludgey一样:

    token brace-value {
    '{' <-[{}]>* ['{' <-[}]>* '}' <-[{}]>* ]* '}'
    }
Run Code Online (Sandbox Code Playgroud)

我对再往下一层的想法感到不寒而栗……但是正确解析我的 BibTeX 内容至少需要三层深。

是的,我知道周围有 BibTeX 解析器,但我需要获取完整的条目以进行进一步处理,同时查看几个键。我的*.bib文件相当温和(我不介意手动处理一些杂散条目),问题是我有很多文件,并且有很多重叠。但是一些“相同”的条目有不同的键,或者额外的数据。我想将它们合并成几个主文件(BibTeX 背后的整个想法,对吧?)。如果bibtool给出一个没有重复(ha!)大约 20,000 行的文件,手工就不好玩了...

grammar raku

10
推荐指数
2
解决办法
250
查看次数

ifstream.eof() - 在真实结束之前到达文件末尾

我有一个大约11.1G的二进制文件,其中存储了Kinect的一系列深度帧.此文件中有19437个帧.要每次读取一帧,我在fstream中使用ifstream,但它在文件的真实结束之前达到eof.(我只得到了前20帧,并且由于eof标志,函数停止了)

然而,所有的帧可以通过读取FREAD标准输入输出来代替.

谁能解释这种情况呢?感谢您在我的问题上花费宝贵的时间.

这是我的两个功能:

// ifstream.read() - Does Not Work: the loop will stop after 20th frame because of the eof flag
ifstream depthStream("fileName.dat");
if(depthStream.is_open())
{
  while(!depthStream.eof())
  {
    char* buffer = new char[640*480*2];
    depthStream.read(buffer, 640*480*2);

    // Store the buffer data in OpenCV Mat

    delete[] buffer;
  }
}

// fread() - Work: Get 19437 frames successfully
FILE* depthStream
depthStream = fopen("fileName.dat", "rb");
if(depthStream != NULL)
{
  while(!feof(depthStream))
  {
    char* …
Run Code Online (Sandbox Code Playgroud)

c++ ifstream fread

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

如何将 2 元素列表的列表变成哈希?

我有两个元素的列表的列表,就像你用得到的,例如(1..5) Z (20..24),我要制作成一个哈希(在这个例子中,你通过得到什么{1 => 20, 2 => 21, 3 => 22, 4 => 23, 5 =>24}。我能做到“手”,但ISN不太优雅,我相信 Raku 有一种惯用的方法。我想出的不优雅的替代方案是:

my @a = (1..5) Z (20..24);
my %a;
for @a -> @x {
   %a{@x[0]} = @x[1];
Run Code Online (Sandbox Code Playgroud)

raku

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

当git注释中存在合并冲突时合并它们

我做了以下几点来合并Git笔记.
参考:http ://vmiklos.hu/blog/git-notes-merge

我克隆了一个repo,添加了对commit的引用(refs/notes/commits).当我推送它时,中央仓库拒绝它,因为它是非快速前进 - 因为已经存在该提交对象的refs/notes/commit.因此,为了将远程Notes引用合并到我的本地Notes引用,

  1. git checkout refs/notes/master
  2. git fetch refs/notes/commit
  3. git merge FETCH_HEAD
    自动合并206155715a78c9d91d42cda1de98449d2e0b1d36
    CONFLICT(add/add):合并冲突206155715a78c9d91d42cda1de98449d ........
    自动合并失败; 修复冲突,然后提交结果.
  4. vi 206155715a78c9d91d42cda1de98449d ........ [手动修复冲突]
  5. git add 206155715a78c9d91d42cda1de98449d ........
  6. git commit -m"updated Notes"
    [已分离的HEAD 0afb80f]更改了备注
  7. git update-ref refs/notes/commits HEAD
  8. git checkout master
    上一个HEAD位置是0afb80f ...已更改注释
    切换到分支'master'
  9. git push origin refs/notes/commit
    成功

问题是,这是否是最好的方法呢?

在git notes man page之后,我尝试了以下内容.

  1. git fetch refs/notes/commit
  2. git notes merge -v refs/notes/commits
    无需更新!

以上步骤显然对我有用.有没有办法使用git notes merge命令并合并Notes,而不是第一个插图中所示的"分支方法"?对于我的用户来说,这个简单的命令会更有帮助.

git

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

是否存在“va_end”执行任何重要操作的目标?

我见过的varargs.h和/或的所有版本要么定义为空宏,要么定义为一些不透明的编译器特定函数,我想它们也不会执行任何操作。C 标准中的基本原理指出“某些实现可能需要它”,但没有提供更多细节。stdarg.hva_end

什么时候才真正需要一个va_end()?有任何需要这样的 ABI 示例,最好有解释吗?

c variadic-functions

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