问题列表 - 第2165页

单线程两个进程

我有两个C++进程(A和B),在Windows下执行,其中一个启动另一个.我想有效地单线程执行它们.例如:

  1. 开始流程A.
  2. A创造B.
  3. 暂停
  4. B执行一些固定的操作
  5. B暂停,A恢复
  6. A执行一些固定的操作
  7. 暂停和B恢复
  8. (重复4-7)

哪种Windows同步和IPC服务最适合实现此类行为?

c++ multithreading synchronization process

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

XOR变量交换如何工作?

有人可以向我解释如何在没有临时变量的情况下对两个变量进行XOR交换吗?

void xorSwap (int *x, int *y)
{
    if (x != y) {
        *x ^= *y;
        *y ^= *x;
        *x ^= *y;
    }
}
Run Code Online (Sandbox Code Playgroud)

我明白它做了什么,但有人可以告诉我它是如何工作的逻辑吗?

language-agnostic bit-manipulation xor

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

什么是不同支撑形式背后的原因?

我正在阅读Zend Framework编码标准,他们在类定义应该在下一行,即"一个真正的支撑形式"之后声明大括号.

class MyClass
{
    function....
}
Run Code Online (Sandbox Code Playgroud)

我通常在同一行上有大括号:

class OtherClass {
    function ...
}
Run Code Online (Sandbox Code Playgroud)

将支架放在下一行的原因是什么?或者使用任何其他风格,就此而言?

php coding-style

5
推荐指数
3
解决办法
978
查看次数

在c#.net中的现有数组中添加新项

如何在C#.net中的现有字符串数组中添加新项?

我需要保留现有数据.

.net c#

123
推荐指数
12
解决办法
41万
查看次数

什么是浮点/舍入误差的简单示例?

我在使用浮点变量时听说过"错误".现在我正在尝试解决这个难题,我想我得到了一些舍入/浮点错误.所以我最终要弄清楚浮点错误的基础知识.

什么是浮点/舍入误差的简单示例(最好是在C++中)?

编辑:例如说我有一个成功概率为p的事件.我做了10次此事件(p没有变化,所有试验都是独立的).两次成功试验的概率是多少?我把它编码为:

double p_2x_success = pow(1-p, (double)8) * pow(p, (double)2) * (double)choose(8, 2);
Run Code Online (Sandbox Code Playgroud)

这是浮点错误的机会吗?

c++ floating-accuracy

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

你什么时候使用uint_least16_t

我正在看stdint.h并且假设它有uint16_t和uint_fast16_t,uint_least16_t的用途是什么,你可能想要用另外两个中的哪一个做得不好?

c

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

Subversion挂钩不会永久接受证书

我希望有人能够回答我的问题.

我有Subversion设置,由Apache2 + SSL提供服务,进行Web开发.

我想要一个在我的测试服务器上运行svn update的post-commit钩子,所以当有人提交时,它会自动更新测试站点.钩子不起作用,因为证书是自生成的证书而且不受信任.

我试图接受(p)永久性,但事实并非如此.

有任何想法吗?

svn hook svn-hooks

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

实现协议的最佳方法是什么?

假设您正在编写必须实现HTTP协议的应用程序.协议非常复杂,可能允许多个命令,具体取决于它们所处的事务的哪个阶段.

例如,看看SMTP.如果在接收"rcpt"和"mail"之前发送"data"命令,则SMTP服务器必须抛出错误.

我的问题是:在代码中处理诸如此类协议的最佳方法是什么?有没有与此相关的设计模式?

编辑:这个问题涉及实施协议背后的理论.我知道使用库是实践中最好的方法.

design-patterns protocols

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

寻找比C++中的虚拟继承更好的方法

好吧,我在C++中有一个有点复杂的系统.简而言之,我需要向第三方抽象基类添加方法.第三方还提供了大量也需要新功能的派生类.

我正在使用一个提供标准Shape接口的库,以及一些常见的形状.

class Shape
{
    public:
        Shape(position);
        virtual ~Shape();

        virtual position GetPosition() const;
        virtual void SetPosition(position);

        virtual double GetPerimeter() const = 0;

    private: ...
};

class Square : public Shape
{
    public:
        Square(position, side_length);
    ...
};

class Circle, Rectangle, Hexagon, etc
Run Code Online (Sandbox Code Playgroud)

现在,这是我的问题.我希望Shape类还包含GetArea()函数.所以看起来我应该做一个:

class ImprovedShape : public virtual Shape
{
    virtual double GetArea() const = 0;
};

class ImprovedSquare : public Square, public ImprovedShape
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后我去制作一个继承自ImprovedShape和Square的ImprovedSquare.好吧,正如你所看到的,我现在已经创建了可怕的钻石继承问题.如果第三方库为其Square,Circle等使用虚拟继承,则可以很容易地解决这个问题.但是,让他们这样做并不是一个合理的选择.

那么,当您需要向库中定义的接口添加一些功能时,您会怎么做?有一个很好的答案吗?

谢谢!

c++ inheritance multiple-inheritance

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

为什么这个Scheme平方和函数不起作用?

(define (square x)
  (display (* x x)))

(define (sum-of-squares a b) 
  (+ (square a) (square b))) 
Run Code Online (Sandbox Code Playgroud)

我测试了它,sum-of-squares功能不起作用.为什么?

scheme

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