草庐IT

member_function

全部标签

C++ 如何使用 std::bind/std::function 引用模板函数

如果你有一个模板类或模板函数,(或两者的组合),你如何绑定(bind)那个函数,(保留模板类型参数)?我在下面的帖子中获得了一些关于基本语法的帮助,以绑定(bind)到具有显式模板类型参数的函数,但在此过程中失去了提供模板类型参数的能力。是否有可能让它工作,以便仍然可以为将来的调用提供模板类型参数?这段代码清理了很多,但显然无法编译,因为我找不到正确的语法,(有没有办法这样做)?删除了“vector”要求以简化此操作:感谢您的帮助!#include#include#include/***************************************/templateclass

c++ - std::function 中的 const 和 & 被忽略了吗?

为什么这段代码会编译?std::functionf=[](inta){};int和constint&不是不同的类型吗? 最佳答案 它们是不同的,但没关系,因为constint&参数可以传递给int参数,这就是所需要的。 关于c++-std::function中的const和&被忽略了吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/45387506/

c++ - std::function 中的 const 和 & 被忽略了吗?

为什么这段代码会编译?std::functionf=[](inta){};int和constint&不是不同的类型吗? 最佳答案 它们是不同的,但没关系,因为constint&参数可以传递给int参数,这就是所需要的。 关于c++-std::function中的const和&被忽略了吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/45387506/

c++ - C++ 中的命名冲突 : How to access a struct member called "class"

我在使用xlib库时遇到了一个命名问题:我正在使用一个结构,它有一个名为“类”的成员。我假设这个库主要用于纯C程序。所以没有问题。但我正在用C++编程,这里的名称“类”是一个关键字,不能用来表示变量。所以,如果我通过访问结构myvariable=mystruct->class;我收到了错误:“class”之前的预期unqualified-id鉴于我无法更改结构本身,尽管存在命名冲突,我如何访问该结构成员? 最佳答案 GiventhatIcannotchangethestructitself,howcanIaccessthisstru

c++ - C++ 中的命名冲突 : How to access a struct member called "class"

我在使用xlib库时遇到了一个命名问题:我正在使用一个结构,它有一个名为“类”的成员。我假设这个库主要用于纯C程序。所以没有问题。但我正在用C++编程,这里的名称“类”是一个关键字,不能用来表示变量。所以,如果我通过访问结构myvariable=mystruct->class;我收到了错误:“class”之前的预期unqualified-id鉴于我无法更改结构本身,尽管存在命名冲突,我如何访问该结构成员? 最佳答案 GiventhatIcannotchangethestructitself,howcanIaccessthisstru

c++ - 为什么使用 constexpr、__PRETTY_FUNCTION__ 和 char * 的这两段代码会有不同的结果?

我有这段代码,如果你注释掉注释“但这不起作用?!”的行,它编译得很好,但如果你不这样做,编译器会产生错误。至少,gcc8.2generatesanerror.但是,他们看起来和我一模一样。有什么问题?这是法律法规吗?templatestructtest_template{staticintsize(){returnx;}};constexprintce_strlen(charconst*s){inti=0;while(s[i])++i;returni;}intjoe(){constexprintplen=ce_strlen(__PRETTY_FUNCTION__);//Thiswork

c++ - 为什么使用 constexpr、__PRETTY_FUNCTION__ 和 char * 的这两段代码会有不同的结果?

我有这段代码,如果你注释掉注释“但这不起作用?!”的行,它编译得很好,但如果你不这样做,编译器会产生错误。至少,gcc8.2generatesanerror.但是,他们看起来和我一模一样。有什么问题?这是法律法规吗?templatestructtest_template{staticintsize(){returnx;}};constexprintce_strlen(charconst*s){inti=0;while(s[i])++i;returni;}intjoe(){constexprintplen=ce_strlen(__PRETTY_FUNCTION__);//Thiswork

c++ - std::function 构造函数和 nullptr

为什么下面的代码输出“0”?#include#includeintmain(){typedefvoid(*fp_t)();fp_tfp=nullptr;std::functionf=fp;std::cout我已经使用gcc4.7.2和MSVC-11.0对其进行了测试。我认为它应该打印“1”,因为标准中的以下引用:ISO/IEC14882:201120.8.11.2.1函数构造/复制/销毁[func.wrap.func.con]templatefunction(Ff);templatefunction(allocator_arg_t,constA&a,Ff);...8Postcondit

c++ - std::function 构造函数和 nullptr

为什么下面的代码输出“0”?#include#includeintmain(){typedefvoid(*fp_t)();fp_tfp=nullptr;std::functionf=fp;std::cout我已经使用gcc4.7.2和MSVC-11.0对其进行了测试。我认为它应该打印“1”,因为标准中的以下引用:ISO/IEC14882:201120.8.11.2.1函数构造/复制/销毁[func.wrap.func.con]templatefunction(Ff);templatefunction(allocator_arg_t,constA&a,Ff);...8Postcondit

c++ - 为什么 C++11 不能将不可复制的仿函数移动到 std::function?

//------------------------------------------------------------------------------structA{A(){}A(A&&){}A&operator=(A&&){return*this;}voidoperator()(){}private:A(constA&);A&operator=(constA&);intx;};//------------------------------------------------------------------------------intmain(){Aa;std::fu