小编mas*_*oud的帖子

qFastSin和qFastCos(速度,安全性和精确度)

最近,我发现了两个数学函数的qmath.h命名qFastSinqFastCos.这些函数是inline并使用查找表来计算sin和cos的值:

inline qreal qFastSin(qreal x)
{
    // Calculating si would be more accurate with qRound, but slower.
    int si = int(x * (0.5 * QT_SINE_TABLE_SIZE / M_PI)); 
    qreal d = x - si * (2.0 * M_PI / QT_SINE_TABLE_SIZE);
    int ci = si + QT_SINE_TABLE_SIZE / 4;
    si &= QT_SINE_TABLE_SIZE - 1;
    ci &= QT_SINE_TABLE_SIZE - 1;
    return qt_sine_table[si] + (qt_sine_table[ci] - 0.5 * qt_sine_table[si] * d) * d;
}

inline qreal …
Run Code Online (Sandbox Code Playgroud)

c++ api math qt

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

如何在不使用string.h的情况下连接不确定数量的字符串

所以我有一个char **args,但我想将所有字符串连接成一个单独char *newArgs而不使用string.h.

有人知道这样做的好方法吗?

c

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

WaitForMultipleObjects For Stack

你知道WaitForMultipleObjectsc中来自windows库的函数是将参数作为对象的数组.但在我的作业中,助手希望将所有线程保留在堆栈中而不是数组中,如何在堆栈中使用此函数?

c windows stack

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

逐行解析一个轻量级解析器的巨大XML文件

我正在为Linux编写一个独立的小工具,需要读取一个巨大的xml文件.

xml文件具有简单的结构,渐进式或流式(逐行)解析器适合它.

我想使用一个轻量级的类库,如TinyXML,但我不知道它是否支持渐进式解析?!

如果答案是"是",你有样品吗?并且,如果答案是"否",您是否知道另一种替代方案,它是小型且仅限标题的类库?

更新: RapidXML或pugiXML怎么样?

c++ xml xml-parsing

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

当看起来好的时候,为什么"期望初级表达"

按照我之前的问题 ,派生类的受保护成员是未知的

我无法理解那条线的哪一部分是错的,不知道吗?

这里有一个编译错误:

template <typename K, typename T>
bool graph<K, T>::is_edge(const K& k1, const K& k2)
{
  if (this->nod.find(k1) == this->nod.end() || this->nod.find(k2) == this->nod.end())
    throw std::string("is_edge: Node does not exist");

  if (k1 < k2) // Below line makes error: expected primary-expression!!!!
    return std::find(this->edg.begin(), this->edg.end(), edge(k1, k2)) != this->edg.end();
  return std::find(this->edg.begin(), this->edg.end(), edge(k2, k1)) != this->edg.end();
}
Run Code Online (Sandbox Code Playgroud)

或者,这句话有什么不对:

std::find(this->edg.begin(), this->edg.end(), edge(k1, k2)) != this->edg.end();
Run Code Online (Sandbox Code Playgroud)

完整的代码在这里,您可以其中测试和编译它.

c++

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

错误C2512:“ std :: basic_ostream &lt;_Elem,_Traits&gt;”:仅Visual Studio没有合适的默认构造函数

我问这个问题是因为我有点无助:此错误仅在Visual Studio中发生,GCC编译该错误时没有错误甚至没有警告。由于这是一些可移植的代码,因此我正在寻找一种适用于两种编译器的解决方案(最好在没有平台依赖的情况下ifdefs)。

错误C2512:'std :: basic_ostream <_Elem,_Traits>':没有合适的默认构造函数

在构造类型为MyObject的对象时发生

   class MyObject : public Socket, public std::ostream
Run Code Online (Sandbox Code Playgroud)

ostreamVS在这里需要什么特殊参数?

c++ visual-studio-2010 ostream visual-c++

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

将OMP_SCHEDULE与#pragma omp一起用于并行调度(运行时)

我试图了解如何schedule(runtime)在C++中使用OpenMP 的指令.经过一些研究,我发现OMP_SCHEDULE(1)并且OMP_SCHEDULE(2).

我总结说我需要将varibale OMP_SCHEDULE设置为某个值.但是,我不知道该怎么做,我还没有找到任何可行的C++示例来解释我如何正确地这样做.

有人可以解释一下如何设置变量并提供一个有效的C++示例吗?

c++ schedule openmp

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

从地图中删除指针

有一张映射int到的地图Test*。所有Test*指针在分配给映射之前都已分配。然后,它delete是map的指针并将它们设置为null。之后,它检查 的有效性one,并且应该是null但是one并不是null

#include <QString>
#include <QMap>
#include <QDebug>

class Test {
    QString name;
public:
    Test(const QString &name) : name(name) {}
    QString getName() const { return name; }
};

int main() {
    QMap<int, Test*> map;

    Test *one = new Test("one");
    Test *two = new Test("two");
    Test *three = new Test("three");

    map.insert(1, one);
    map.insert(2, two);
    map.insert(3, three);

    for (auto itr = map.begin(); …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

两个结果在一个查询中

这是提出问题的简化表:

      Names
+------+----------+
|  id  |   name   |
|------+----------|
|  1   |  Alex    |
|      |          |
|  2   |  John    |
|      |          |
|  3   |  Fred    |
|      |          |
|  4   |  Andy    |
+------+----------+

id: primary key
Run Code Online (Sandbox Code Playgroud)

我如何执行只是一个单一的查询和取两个名字?我有两个ID n1,n2我想检索两个相应的名称:

SELECT name1, name2 FROM names WHERE ...n1....n2...
Run Code Online (Sandbox Code Playgroud)

执行查询后n1=2n2=3结果应该是:

+------------+------------+
|   name1    |   name2    |
+------------+------------+
|   John     |   Fred     |
+------------+------------+
Run Code Online (Sandbox Code Playgroud)

可能吗?我不知道.

php mysql sql

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

编译统计::草莓基础失败

运行一个工具,我必须安装 Perl。好吧,我已经安装了Strawberry-Perl和一些模块。但是当我制作Statistics::Basic 时,它失败了。

制作模块的过程:

  • perl Makefile.PL (好的)
  • dmake test (失败)

C:\Perl\perl\lib\Basic>dmake test C:\Perl\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.tt/05_load_them.t ................... # 测试 1 得到:"无法定位 Number/Format.pm在@INC(您可能需要安装 Number::Format 模块)(@INC 包含:C:\Perl\perl\lib\Basic\blib\lib C:\Perl\perl\lib\Basic\blib\arch C :/Perl/perl/site/lib C:/Perl/perl/vendor/lib C:/Perl/perl/lib .) 在 C:\Perl\perl\lib\Basic\blib\lib/Statistics/Basic.pm第 8 行。\nBEGIN 失败--编译在 C:\Perl\perl\lib\Basic\blib\lib/Statistics/Basic.pm 第 8 行中止。\n编译在 C:\Perl\perl\lib\ 中的 require 中失败Basic\blib\lib/Statistics/Bas ic/_OneVectorBase.pm 第 7 行。\nBEGIN 失败——编译在 C 处中止:\Perl\perl\lib\Basic\blib\lib/Statistics/Basic/_OneVectorBase.pm 第 7 行。\n在 (eval 1) 第 2 行要求编译失败。\nBEGIN 失败--编译在 (eval 1) 第 2 行中止.\n" (t/05_load_them.t 在第 12 行) t/05_load_them.t ................... 1/12 # …

perl

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

标签 统计

c++ ×6

c ×2

qt ×2

api ×1

math ×1

mysql ×1

openmp ×1

ostream ×1

perl ×1

php ×1

schedule ×1

sql ×1

stack ×1

visual-c++ ×1

visual-studio-2010 ×1

windows ×1

xml ×1

xml-parsing ×1