小编Ash*_*yan的帖子

在Linux中隐藏wget输出

我不想在使用时看到任何消息wget.

我尝试wget-q -O选项和重定向,/dev/null但我仍然看到不需要的消息.

编辑 对不起大家,我的脚本中有另一个wget打印消息:) &> /dev/null对我来说已经足够了.

linux bash wget

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

为什么我可以使用模板函数中的私有方法

我有模板类MyClass

template <class T>
class MyClass
{
public:
  MyClass() { }
private:
  void PrivateFunction() { 
    std::cout << "Message From Private Function" << std::endl; 
  }
};
Run Code Online (Sandbox Code Playgroud)

现在当我试图在另一个函数编译器内部使用PrivateFunction()报告错误时,但是当我尝试相同的内部模板函数时,编译器不会显示任何错误.

  1. 编译器不报告错误.

    template <class T>
    void f()
    {
      MyClass<int> a;
      a.PrivateFunction();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编译器报告错误.

    void f()
    {
      MyClass<int> a;
      a.PrivateFunction();
    }
    
    Run Code Online (Sandbox Code Playgroud)

c++ templates class function

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

C++编译错误 - 'operator ='不匹配

以下代码编译没有问题

class MyClass
{
public:
  MyClass() { std::cout << "Default Constructor!" << std::endl; }
  MyClass& operator=(const MyClass& m) { std::cout << "Copy assignment operator!" << std::endl; }
};

int main()
{
  MyClass a;
  MyClass d;
  d = MyClass(a);
}
Run Code Online (Sandbox Code Playgroud)

但当我更改赋值运算符参数为非const编译器打印错误时:

MyClass& operator=(MyClass& m) { std::cout << "Copy assignment operator!" << std::endl; }

error: no match for ‘operator=’ (operand types are ‘MyClass’ and ‘MyClass’)
Run Code Online (Sandbox Code Playgroud)

我想知道原因.提前致谢.

c++ constructor variable-assignment

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

两个 div 并排位于另一个 div 内

我有以下简单的 html 代码。

.body-content {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

.left-menu {
    background-color: red;
    float: left;
    width: 50px;
}

.right-container {
    background-color: blue;
    width: 100%;
}

.middle-view {
    width: 70%;
    float: left;
    background-color: blueviolet;
}

.right-view {
    width: 30%;
    float: left;
    background-color: burlywood;
}
Run Code Online (Sandbox Code Playgroud)
  <div class="body-content">
  <div class="left-menu">
    abc
  </div>
  <div class="right-container">
    <div class="middle-view">
      def
    </div>
    <div class="right-view">
      ghi
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我得到以下结果: 在此输入图像描述

但我想并排“def”和“ghi”。

我没有太多使用 HTML 和 CSS 的经验,但我认为中视图和右视图一起将填充右容器(70% + 30%)。但据我所知,左侧菜单的宽度(50px)对其有影响。

html css

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

为什么我们需要删除复制赋值运算符内的指针

我看过几个复制赋值运算符的示例,但不明白为什么我们需要删除复制赋值运算符内的指针。例如,如果我有以下课程

 class MyClass
 {
  public:
    MyClass(int a)
    {
      x = new int(a);
    }
    MyClass& operator=(const MyClass& pMyClass)
    {
       *x = *(pMyClass.x);

       // ?????????
       // delete x;
       // x = new int(*(pMyClass.x));
    }
    ~MyClass()
    {
       delete x;
    }
  private:
    int* x;
 }
Run Code Online (Sandbox Code Playgroud)

*x = *(pMyClass.x) 行有什么问题?我只是复制 pMyClass.x 指向的对象,为什么我需要删除并再次创建它?谁能举例说明这段代码何时会导致内存泄漏?

c++ assignment-operator

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

红黑树是平衡的

我正在研究红黑树,我正在阅读Cormen的"算法导论"一书.现在我尝试使用书中描述的伪代码 - RB-INSERT-FIXUP(T,z)创建数字为1-10的红黑树.这是截图 在此输入图像描述

一切都很好,直到我在树中插入数字"6".根据伪代码我得到以下结果

在此输入图像描述

你可以看到所有的红黑树要求都满足了,但我很困惑,因为我知道每一步都应该平衡红黑树.

我可以用"2"和"4"手动执行"左旋"程序并更改颜色.在这种情况下,我将得到以下结果,这是适当平衡的

在此输入图像描述

所以我的问题是:

有没有不平衡的树可以吗?或者我在插入节点期间遗漏了什么?

algorithm tree binary-tree red-black-tree

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

警告:“auto”类型说明符是 C++11 扩展

我有一个非常简单的 C++ 代码语句auto a = 12;

当我使用-std=c++98选项在 Linux 中使用 g++ 编译它时,我收到了预期的错误

error: ‘a’ does not name a type

但是当我在 MacOS 中用相同的选项编译相同的代码时,我只收到一个警告,但代码编译得很好。

warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]

但不是-std=c++98按照 C++ 98 标准编译代码的全部意义吗?所以警告告诉即使 auto 是一个 C++11 扩展我要为你编译它?

是否有强制使用c++98(或其他标准)的选项?

g++ --version版画 Apple clang version 12.0.0 (clang-1200.0.32.29) 是由另一种方式奇怪的事情。所以它实际上是叮当声。

这就像询问firefox --version和得到chrome 87.0.4280.163

c++ gcc g++ clang c++11

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

如何知道方法参数是否为可为空类型

string我有一个方法可以接收和的字典object

private void MyFunc(Dictionary<string, object> parameters)
{
}
Run Code Online (Sandbox Code Playgroud)

我有一个用例,我需要调用对象为可为空 Guid 的方法

Nullable<Guid> guid = Guid.NewGuid();
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("myGuid", guid);
MyFunc(parameters);
Run Code Online (Sandbox Code Playgroud)

当我尝试获取对象的类型时,它似乎是 System.Guid

parameters["myGuid"].GetType()
Run Code Online (Sandbox Code Playgroud)

我如何知道该对象是否可为空?当将对象作为方法参数发送时,我是否会丢失可为空的值?

c# nullable

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

将 bash -s 与其他参数一起使用

我有位于服务器中的 install.sh 脚本。我想编写一行代码来下载并运行脚本。

curl -s https://my-server/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我尝试设置参数

curl -s https://my-server/install.sh | bash -s -p abc
Run Code Online (Sandbox Code Playgroud)

它无法将“-p”识别为参数,但“abc”可以。

在这种情况下如何设置以“-”或“--”符号开头的参数?

linux bash shell

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