相关疑难解决方法(0)

2753
推荐指数
11
解决办法
81万
查看次数

什么是C++ 11中的lambda表达式?

什么是C++ 11中的lambda表达式?我什么时候用?他们解决了哪些问题在引入之前是不可能的?

一些示例和用例将是有用的.

c++ lambda c++-faq c++11

1408
推荐指数
7
解决办法
45万
查看次数

什么是lambda(函数)?

对于没有comp-sci背景的人来说,计算机科学领域的lambda是什么?

language-agnostic theory lambda computer-science terminology

714
推荐指数
14
解决办法
26万
查看次数

在C++ 11中用"auto"推导出lambda的类型是什么?

我有一种感觉,lambda的类型是一个函数指针.当我进行以下测试时,我发现它是错误的(演示).

#define LAMBDA [] (int i) -> long { return 0; }
int main ()
{
  long (*pFptr)(int) = LAMBDA;  // ok
  auto pAuto = LAMBDA;  // ok
  assert(typeid(pFptr) == typeid(pAuto));  // assertion fails !
}
Run Code Online (Sandbox Code Playgroud)

上面的代码是否缺少任何一点?如果不是那么,typeofauto关键字推导出的lambda表达式是什么?

c++ lambda typeof auto c++11

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

C++中的函数式编程.实施f(a)(b)(c)

我已经开始使用C++进行函数式编程的基础知识.我正在尝试创建一个f(a)(b)(c)将返回的函数a + b + c.我成功实现了f(a)(b)返回a + b 的函数.这是它的代码:

std::function<double(double)> plus2(double a){
    return[a](double b){return a + b; };
}
Run Code Online (Sandbox Code Playgroud)

我只是无法弄清楚如何实现f(a)(b)(c)我之前声明应该返回的功能a + b + c.

c++ functional-programming currying c++11 std-function

63
推荐指数
7
解决办法
9115
查看次数

为什么要覆盖operator()?

Boost Signals库中,它们重载了()运算符.

这是C++中的约定吗?对于回调等?

我在同事的代码中看到了这一点(恰好是Boost的忠实粉丝).在那里的所有Boost善良中,这只会让我感到困惑.

有关这种超载原因的任何见解?

c++ boost operator-overloading functor function-call-operator

52
推荐指数
6
解决办法
6万
查看次数

我们在C++中有闭包吗?

我正在阅读关于网上关闭的内容.我想知道C++是否有一个内置的闭包工具,或者我们是否可以用C++实现闭包?

c++ closures lexical-closures

48
推荐指数
5
解决办法
4万
查看次数

C++线程池

什么是C++在生产代码中使用的线程池的良好开源实现(类似于boost)?

请提供您自己的示例代码或示例代码使用的链接.

c++ multithreading boost boost-thread threadpool

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

如何理解这段代码片段中的两对括号?

此代码来自C++入门 p.446:

return hash<string>() (sd.isbn());
Run Code Online (Sandbox Code Playgroud)

我不理解带有两对括号的返回表达式.本书前面没有类似的语法.

c++ hash

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

如何从STL容器中删除元素?

如何从STL容器中删除元素,具有指定或满足某些条件

对于不同类型的容器,是否有单一的通用或统一的方法?

c++ stl std c++11

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