问题标签 [c++98]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5102 浏览

c++ - 在 Boost 中实现自旋锁。需要的例子

我想知道 boost 是否有任何库可以帮助实现自旋锁。我知道 boost 支持互斥锁,但我找不到任何显示或描述 boost 中的自旋锁的示例。任何显示如何使用 boost(最好)实现自旋锁的示例将不胜感激。(C++98)

0 投票
1 回答
62 浏览

c++ - 从 lib 文件中回调方法的最简单/有效的方法

我目前正在从外部 lib 文件中调用一些方法。这些方法完成后是否有办法在我的应用程序中回调函数,因为这些方法可能在单独的线程中运行?下图显示了我想要实现的目标

在此处输入图像描述

我想知道将消息发送回调用应用程序的最佳方式是什么?任何可能有帮助的增强组件?

0 投票
3 回答
1232 浏览

c++ - 在堆上分配的向量上使用 push_back

我想在函数内创建一个字符串向量并在堆上为其分配内存。为此,我正在使用

vector<string>* residuetable = new vector<string>();

当我尝试做

&residuetable.push_back(modulo((exponentiate("2", exponent02)), modulus));

即尝试使用push_back函数将几个函数调用的返回值添加到向量,我得到编译时错误

request for member 'push_back' in 'residuetable', which is of non-class type 'std::vector<std::string, std::allocator<std::string> >*

如何解决这个问题并将函数调用的结果添加到堆上分配的向量的末尾?

0 投票
1 回答
278 浏览

c++ - 你能将指针传递给 std::vector 的迭代器吗

我遇到了以下代码,它在我脑海中提出了一些问题

在哪里 bytes is QByteArraybytes.constData()返回const char*

我在这里查看了向量的构造函数,我认为适合此描述的唯一构造函数是

现在我的问题是:

1-是否可以将指针传递给向量的迭代器?为什么会这样bytes.constData() + bytes.size() ?例如,如果我们稍后对字节进行更改会影响 buf 吗?

0 投票
3 回答
897 浏览

c++ - C++98 花括号 const 标量初始化

我偶然发现了我不明白的代码。这是它的简化版本:

此代码在 C++98 模式下使用 GCC 编译,但不能在 Clang 中编译。Clang 产生以下错误:

据我了解,int带和不带花括号的初始化应该是等效的。Clangi正确初始化为42,只是不认为它是编译时间常数。

此代码在 C++11 模式下编译良好。

是否有原因j被视为编译时间常数而i不是?或者它只是 Clang 中的一个错误?

更新:我在 LLVM 错误跟踪器中为这个问题打开了一张票。

0 投票
2 回答
2065 浏览

c++ - 使用 C++98 标准访问地图

我有以下 C++11 兼容代码,我需要用不支持“.at”的 C++98 编译它。如何重写它以与 C++98 兼容?

0 投票
1 回答
91 浏览

c++ - 在 C++ 中处理几乎所有的异常

我有一个当前捕获所有异常的 try 块:

但是,我不想捕获访问冲突。我可以将其指定为我的处理程序的例外(可以这么说)吗?还是我应该先抓住它然后再扔?

0 投票
1 回答
79 浏览

c++ - 即使在 C++11 之前使用互斥库,这个程序也会被破坏吗?

我知道旧的 C++ 对线程一无所知,所以这是关于 IRL 编译器的 Q,不是标准的。

我最近正在编写一个代码,其中包含以下内容:

现在假设我添加了对 shutdown_in_progress 访问的同步(这样该变量就没有竞争条件)。

我是否错误地认为编译器即使使用例如 pthread_mutex_lock/unlock 保护对 bool 的访问也可以进行破坏性优化,将 while(//1) 替换为 if 并完全删除 //2,因为它知道变量必须为 false。或者当变量被同步代码包围时,编译器有办法检测变量的可能突变?

这不是理论上的问题,我正在使用旧的 g++ 编译器开发嵌入式系统。:)

0 投票
1 回答
374 浏览

c++ - 带容器类型扣除的模板函数

我编写了一个函数来迭代listvector或者任何带有iteratoron 字符串的函数,并且该函数在字符串上返回一对相同类型的容器......

我写了以下内容,但我没有编译,我尝试将容器类型捕获为 C,将分配器捕获为 A。

重要的是,我只使用 C++98。

要调用该代码,我使用:

您知道如何编写该函数吗?

0 投票
1 回答
839 浏览

c++ - 改进 Project euler #25 的蛮力解决方案

我最近偶然发现了这个 Project Euler Problem #25:

第 12 项 F12 是第一个包含三位数字的项。

斐波那契数列中包含 1000 位数字的第一项是什么?

我只知道 C++98 而没有其他编程语言。我试图解决它,进行更改以获得对 c++11 的支持。

在职的:

我知道这是蛮力,但我可以让它更有效率,以便我得到答案吗?

任何帮助将不胜感激。

编辑:

按照PaulMcKenzie的建议,通过使用 Binet 公式并将其实现为:

输出:4780.187012

将上面的第 1 行更改为:

输出:4781.859375

这里可能是什么错误?