相关疑难解决方法(0)

什么是模板<typename T,T t>成语?

我正在读这篇文章,并试图了解N3601是关于什么的.它说这个成语在网络搜索中出现了很多,但我找不到任何东西.是什么

template<typename T, T t>
Run Code Online (Sandbox Code Playgroud)

成语,它解决了什么,如何使用,什么是隐式模板参数,以及提案旨在解决的问题是什么?

c++ templates idioms typename c++14

21
推荐指数
2
解决办法
4083
查看次数

模板c ++的模板?

我已经设法创建了一些preperty类,其中包含了我们期望的所有内容.我的意思是在使用它时你不需要调用函数只是使用operator =will会做所有的工作.但是只有一件事我想如果我们能解决它会很好:

template <class T, class X,void (T::*setFunc)(const X&),const X& (T::*getFunc)()const> class property
{ 
    T* const owner;
    X data;
    friend T;
    property(T*const  pOwner) : owner (pOwner)
    {
    }
public:
    property& operator = (const X& input){(owner->*setFunc)(input);return *this;}
    operator const X&()const {return (owner->*getFunc)();}
};

struct c
{
protected:
    void setInt(const int& data);
    const int& getInt() const;
public:
    c();
    property<c, int ,&setInt,&getInt> myInt;
};

c::c() : myInt(this)
{
}

void c::setInt(const int& data)
{
    myInt.data = data;
}
const int& c::getInt() …
Run Code Online (Sandbox Code Playgroud)

c++ templates properties

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

使用Lambda/Template/SFINAE自动化蹦床功能的try/catch-safeguarding

我有100个左右的蹦床功能.我想知道是否可以在try/catch块中自动包装每个.

请提前通知,这不是一个简单的问题.我将从描述(简化)代码的问题开始,然后尝试在下面尽可能地回答它,以便读者可以看到我在哪里.

Foo有一个函数指针表:

编辑:这是一个C函数指针表.所以它可以接受static W::w.
签名在这里:http://svn.python.org/projects/python/trunk/Include/object.h

编辑:我在这里试过一个测试用例:

class Foo {
    Table table;
    Foo() {
        // Each slot has a default lambda.
        :
        table->fp_53 = [](S s, A a, B b)      -> int   {cout<<"load me!";};
        table->fp_54 = [](S s, C c, D d, E e) -> float {cout<<"load me!";};
        // ^ Note: slots MAY have different signatures
        //         only the first parameter 'S s' is guaranteed
    }

    // Foo also has …
Run Code Online (Sandbox Code Playgroud)

c++ lambda trampolines template-meta-programming c++11

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