小编Jay*_*ark的帖子

为什么'顶部| grep>文件'不工作?

我测试了以下命令,但它不起作用.

$> top -b -d 1 | grep java > top.log
Run Code Online (Sandbox Code Playgroud)

它不使用标准错误.我检查它使用标准输出,但top.log始终为空.为什么是这样?

linux shell io-redirection

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

为什么不允许System.out.println(super)?

为什么System.out.println(super)不允许?

System.out.println(this);
Run Code Online (Sandbox Code Playgroud)

这没关系,this.toString()可以自动调用和打印.当然,实例变量是OK而不是this.

但是,this并且super可以以我所知的相同方式使用.

System.out.println(super);
Run Code Online (Sandbox Code Playgroud)

那为什么会失败?我认为它应该super.toString()隐含地调用.我已阅读Java规范文档,但我没有找到原因.

java oop tostring

6
推荐指数
2
解决办法
1290
查看次数

可以在Mercurial中将特定目录更新为旧版本吗?

我试图在很多方面将一些文件更新为旧版本,但我还没有找到.(不是永久性的,只是暂时更新以进行测试)

例如,SVN中的以下内容正常.

svn up -r 100 foo.cpp
U    foo.cpp
Run Code Online (Sandbox Code Playgroud)

但在Mercurial中,'up'命令不允许文件名参数.

只有可以在Mercurial中更新整个源代码树吗?

mercurial

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

在MacOSX上fputs()的行为是不正常的

假设test.txt是这样的:

aaaaa
aaaaa
aaaaa

测试代码是这样的:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  FILE *f = fopen("test.txt", "r+");
  char buf[100];

  fgets(buf, 100, f);
  fputs("bbb", f);

  fclose(f);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,我的意图是结果文件可能是这样的:

aaaaa
bbbaa
aaaaa

但在MacOSX上,它是这样的:

aaaaa
aaaaa
aaaaa
bbb

fputs()不会返回任何错误,并且在fgets()之后放置ftell()时,它会完全指向6.
那是一个错误吗?在Linux上,它完成得很好.

c macos

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

如何在C++中从int到object的赋值?

class phone {  
    public:  
        phone(int x) { num = x; }
        int number(void) { return num; }
        void number(int x) { num = x; }

    private:
        int num;
};

int main(void)
{
    phone p1(10);

    p1 = 20;    // here!

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

嗨,大家好

我刚刚宣布了一个类似上面的简单类.
之后我将int值赋给了该类的对象,然后就可以了!
(我打印了它的价值.它存放得当)

如果没有带有int参数的构造,则发生编译错误.
所以,我认为它与构造函数有关.是对的吗?

请给我一个很好的解释.
谢谢.

c++ constructor variable-assignment assignment-operator

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

在C++中,是否不允许直接传递对象?

我知道C,但我不擅长C++.

以下代码将崩溃(在getval()中,使用引用作为参数是ok).并且*p在第一次cout陈述之后改变了价值.看起来存在一些超出内存的覆盖.

我的问题是它崩溃的原因(或者为什么它的价值发生了变化).这是对象的"按价值呼叫",所以它应该工作吗?

class myclass { 
  int *p; 

  public: 
    myclass(int i); 
    ~myclass() { delete p; } 
    int getval(myclass o); 
}; 

myclass::myclass(int i) 
{ 
  p = new int; 

  if (!p) { 
    cout << "Allocation error\n"; 
    exit(1); 
  } 

  *p = i; 
}

int myclass::getval(myclass o) 
{ 
  return *o.p; 
} 

int main() 
{ 
  myclass a(1), b(2); 

  cout << a.getval(a) << " " << a.getval(b) << endl; 
  cout << b.getval(a) << " " << b.getval(b) << endl; 

  return 0; 
} 
Run Code Online (Sandbox Code Playgroud)

c++ crash runtime-error pass-by-value

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