小编Mot*_*tti的帖子

复数的共轭函数

我试图创建一个共轭复数的函数,例如A(2,3)将通过键入变成A(2,-3)〜我已经在下面做了一些代码,但我想这是错的,我希望你可以帮我解决这个问题.我在下面的代码中引用了我做错的部分.

#include <iostream>
    using namespace std;
    class Complex
    {
    private:
        double real;
        double imaginenary;
    public:
        Complex();
        Complex(double r, double i = 0);

        // Declaration 
        Complex operator~(const Complex & c) const;


        Complex operator+(const Complex & c) const;
        Complex operator-(const Complex & c) const;
        Complex operator*(const Complex & c) const;
        Complex operator*(double n) const; 
       friend Complex operator*(double m, const Complex & c)
               { return c * m; }    
        friend ostream & operator<<(ostream & os, const Complex & c);
    };
    Complex::Complex()
    {
        real …
Run Code Online (Sandbox Code Playgroud)

c++

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

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

日期检查计数30天

我想计算一个特定日期过去的日子.我有一个预定义的日期与我,我想检查过去的日子,一天一天30天相对于给定的时间,我想收到一条消息.

示例给定日期是2010年5月25日,当我的系统日期达到25/04/2010时,我必须收到一条消息.我该如何实现它.请给我一些帮助

qt qt4

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

`auto int i`是否有效C++ 0x?

在回答这个问题时,问题是关键字(自动存储)的传统C含义autoC++ 0x中是否仍然有效,现在它意味着类型推导.

我记得,旧的含义auto应该保留在相关的地方,但其他人不同意.

auto char c = 42; // either compilation error or c = '*'
Run Code Online (Sandbox Code Playgroud)

看看编译器,我看到了当前的部门.

  1. 不再允许auto的旧含义
    • VS10
    • 克++
  2. 在相关时使用auto的旧含义

你知道哪个是正确的行为吗?

c++ standards-compliance c++11

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

双锚定正则表达式

我想接受用户的任意正则表达式并将其锚定在两侧以强制完全匹配 ( ^<user's-regex>$) 但我不知道是否必须考虑用户可能已经锚定了他的正则表达式这一事实。

看起来 Perl、C++、.NET 和 JavaScript 都允许双倍的多重锚定。

"hello" =~ /^h/ # true
"hello" =~ /^^h/ # true
"hello" =~ /^^^h/ # true
"hello" =~ /e/ # true
"hello" =~ /^e/ # false
"hello" =~ /^^e/ # false
Run Code Online (Sandbox Code Playgroud)

有谁知道这是否指定以这种方式工作?我可以依赖这种行为吗?或者这是一个将来可能会改变的意外事件吗?


编辑:我们需要这个的原因是我们正在使用 VBScript 的正则表达式(来自 COM),match但是我们使用它会返回所有匹配项,因此匹配字符串abcto.*a.*比匹配 to慢得多^.*a.*$通过使用@Tim建议的锚定,我们将匹配速度(对于长字符串)提高了 12 倍以上。

regex language-agnostic anchor

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

如何检查是否使用sinon.useFakeTimers调用了clearTimeout?

我使用的是sinon伪造的计时器,我要检查,如果clearTimeout被称为具有特定的超时-ID.

var clock = sinon.useFakeTimers();
functionUnderTest();
// How can I know if functionUnderTest cleared a specific timeout?
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing sinon cleartimeout

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

C++ 0x标准如何定义C++ Auto多重声明?

嗯,我对即将推出的C++ 0x标准中的多个自动声明有点混淆.

auto a = 10, b = 3.f , * c = new Class();
Run Code Online (Sandbox Code Playgroud)

在某处我读到它是不允许的.原因是(?)因为不清楚连续声明是否应该与第一个声明具有相同的类型(在示例中为int),或者不是.

可能的翻译1:

int a = 10; 
int b = 3.f; 
int * c = new Class ();
Run Code Online (Sandbox Code Playgroud)

导致错误

可能的翻译2:

int a = 10;
float b = 3.f;
Class * c = new Class (); 
Run Code Online (Sandbox Code Playgroud)

它是如何产生标准的?

如果我可以说我的POV,翻译#2是最常见的,至少在我看来我是一个普通的C++用户.我的意思是,对我来说"声明的每个变量都是相同的声明类型",女巫是自动的.翻译#1对我来说真的不直观.

再见QbProg

c++ c++11

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

如何在新行上关闭节点和标记来格式化XML?

我正在修改.vcrpoj.NET中的一些文件但是当我保存格式化更改(这会破坏我的diff工具)时,原始文件看起来像这样:

<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
>
<Platforms>
    <Platform
        Name="Win32"
    />
</Platforms>
<ToolFiles>
</ToolFiles>
Run Code Online (Sandbox Code Playgroud)

但是当我保存更改时,它看起来像这样:

<VisualStudioProject
ProjectType="Visual C++"
Version="8.00">
<Platforms>
    <Platform
        Name="Win32" />
</Platforms>
<ToolFiles></ToolFiles>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下内容 XmlWritterSettings

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = ("\t");
settings.Encoding = Encoding.UTF8;
settings.NewLineOnAttributes = true;
Run Code Online (Sandbox Code Playgroud)

有没有办法定义设置以匹配visual studio使用的格式?(NewLineOnAttributes否则我需要它甚至更糟).

.net xml formatting xmlwriter

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

在QTP中测试飞出菜单

我正在寻找使用QTP触发弹出菜单操作的想法.

我正在使用QTP测试Web应用程序.该应用程序具有"级联"或分层飞出菜单.

例如 Options->Preferences

重新编码QTP时识别菜单层次结构上的终点(例如"首选项").但是在运行测试时,触发 WebElement("Preferences").Click不起作用.

如果我调用Link("Options").FireEvent ("onmouseover")它会拉下菜单,之后我可以突出显示"首选项"项,但是在拉下菜单后调用单击按钮无法触发菜单操作.

任何触发这些菜单项上的点击操作的想法都会很有用.

此致,
Adarsha

qtp

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

如何创建64位索引的std :: vector?

我想创建一个大的 std::vector所以operator[]应该收到long long而不是unsigned int,我尝试编写自己的分配器:

template <typename T>
struct allocator64 : std::allocator<T> {
    typedef long long difference_type;
    typedef unsigned long long size_type;
};
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试以下内容时:

long long n = 5;
std::vector<int, allocator64<int> > vec(n);
vec[n-1] = 2;
Run Code Online (Sandbox Code Playgroud)

我收到第二行和第三行的以下警告:

警告C4244:'argument':从'__int64'转换为'unsigned int',可能会丢失数据

我错过了什么?我认为operator[]大小构造函数的类型和来源应该来自allocator::size_type.

我正在使用VS9(2008).

c++ 64-bit stl allocator visual-studio-2008

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