小编Soa*_*apy的帖子

void(int)&void(*)(int)之间的区别

我知道void (*)(int)是函数指针但是是什么void(int)

它用于std::function模板.

说我有一个功能void fun(int){}:decltype(&fun)给予void(*)(int)decltype(fun)给予void(int)

c++

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

我应该到处使用 PIMPL 吗?

我当前的项目涉及编写 C++ API,我决定使用 PIMPL 惯用语。

我应该在我的项目中的任何地方使用 PIMPL idiom,例如我需要创建一个继承自 的自定义类,std::exception我应该用 PIMPL idiom 设计这个类还是我可以只写一个公共实现?

仅仅因为我使用 PIMPL 习惯用法就认为我创建的每个类都应该围绕它设计,这感觉是错误的。是否有应该在哪里PIMPL任何异常,没有用?

c++ idioms pimpl-idiom

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

没有一个指定的端点可达

从 .net 应用程序发布消息时,rabbitmq 中存在间歇性问题。它在系统中产生大量噪音。我试过谷歌搜索,但找不到问题的根本原因。

这是我在应用程序日志中看到的错误,

None of the specified endpoints were reachable
Endpoints attempted:
------------------------------------------------
endpoint=amqp-0-9://localhost:5672, attempts=1
System.TimeoutException: Connection to amqp-0-9://localhost:5672 timed out
   at RabbitMQ.Client.Impl.SocketFrameHandler_0_9.Connect(TcpClient socket, AmqpTcpEndpoint endpoint, Int32 timeout)
   at RabbitMQ.Client.Impl.SocketFrameHandler_0_9..ctor(AmqpTcpEndpoint endpoint, ObtainSocket socketFactory, Int32 timeout)
   at RabbitMQ.Client.Framing.Impl.v0_9_1.ProtocolBase.CreateFrameHandler(AmqpTcpEndpoint endpoint, ObtainSocket socketFactory, Int32 timeout)
   at RabbitMQ.Client.ConnectionFactory.FollowRedirectChain(Int32 maxRedirects, IDictionary`2 connectionAttempts, IDictionary`2 connectionErrors, AmqpTcpEndpoint[]& mostRecentKnownHosts, AmqpTcpEndpoint endpoint)
================================================
Stack trace:
   at RabbitMQ.Client.ConnectionFactory.CreateConnection(Int32 maxRedirects)
   at RabbitMQ.Client.ConnectionFactory.CreateConnection()
Run Code Online (Sandbox Code Playgroud)

.net c# rabbitmq

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

如何从 dll 重定向 STDOUT

我有一个 dll 文件写入STDOUTvia std::cout.

无论如何,是否可以将 dll 的输出重定向到正在使用它的应用程序,而不必在 dll 内创建功能?例如,有没有办法“听”它的输出?

我正在寻找一个可以跨平台工作的答案。

c c++

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

预编译头可以像库一样使用吗?

是否可以使用像编译库一样的预编译头?例如,我可以创建一个包含预处理器的头,如下所示:

#include <iostream>
#include <string>
#include "boost_headers.hpp"
Run Code Online (Sandbox Code Playgroud)

将其编译成PCH然后分发PCH而不必分发用于创建它的头文件?

c++ precompiled-headers

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

为什么 std::stol 不能使用科学记数法?

我有这个代码:

#include <iostream>

int main() {
    long l1 = std::stol("4.2e+7");
    long l2 = std::stol("3E+7");
    long l3 = 3E7;
    printf("%d\n%d\n%d\n", l1, l2, l3);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

预期输出是42000000, 3000000, 3000000但实际输出是(在 ideone C++14 和 VS2013 上测试):

4
3
30000000
Run Code Online (Sandbox Code Playgroud)

为什么会这样?有没有办法std::stol考虑科学记数法?

c++

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

C++传递任何容器来运行

我正试图找到一种方法来遍历任何STL容器.目前我有这个:

std::string range(std::vector<int>& args)
{
    for (auto it : args)
        // do something
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种能够将任何类型的STL容器传递给函数而不是函数的方法std::vector<int>& args.我怎样才能做到这一点?

c++ stl c++11

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

标签 统计

c++ ×6

.net ×1

c ×1

c# ×1

c++11 ×1

idioms ×1

pimpl-idiom ×1

precompiled-headers ×1

rabbitmq ×1

stl ×1