小编use*_*020的帖子

如何从旧的元组类型和boost类型创建新的元组类型?

我有一个元组类型.我想在其中添加一个元素类型以获得新的元组类型.我可以这样做

decltype tuple_cat(MyTuple, std::tuple<MyType>())
Run Code Online (Sandbox Code Playgroud)

不过,我不觉得tuple_catboost::tuple,如何做到这一点的提升?

c++ boost tuples

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

类的方法中的本地类是这个类的朋友吗?

我有一个外课A.它有一种方法A::fun.在此方法中,它具有本地或内部类B.我的问题是:是B朋友A吗?

我认为不是.这样对吗?如果是这样,我认为让B一个朋友的课程A非常有益,因为B可以访问A私人和受保护的成员.此外,由于B在方法中是本地的,因此其他人无法访问,因此作为朋友的安全A.如何解决B访问A私人和受保护成员的问题?

c++ class friend

9
推荐指数
2
解决办法
393
查看次数

如何让enum类使用'bit-or'功能?

我通常使用enum'bit-or'或|一起允许对象有一些选项.如何让enum类使用'bit-or'功能?

c++ enum-class

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

如何仅更改QGroupBox标题的字体?

我想把QGroupBox标题更改为粗体而其他标题保持不变.如何仅更改QGroupBox标题的字体?

qt

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

是否可以输入参数包?

是否可以输入参数包?例如

template<class T, class... Args>
struct A
{
    typedef T Type; // We typedef it, then its derived class can use it.
                    // How about for parameter packs?

    // Option 1:
    typedef Args Arguments;

    // Option 2:
    using Arguments = Args;

    // Option 3: I can put in a tuple, but how can I untuple it to a pack
    typedef tuple<Args...> Tuple;
};
Run Code Online (Sandbox Code Playgroud)

我想使用上述技术来实现以下功能

template<int... VALUES>
struct IntegralSequence
{
    enum { SIZE = sizeof...(VALUES) };

    template <unsigned I>
    struct At …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic-templates c++11

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

对于某些模板参数T,T&是什么意思?

例如

template<class T>
struct Ref
{
    using type = T&;
};
Run Code Online (Sandbox Code Playgroud)

是否Ref<T>::typestd::add_lvalue_reference<T>::type所有可能的模板参数相同?例如int,int&int&&

我刚刚阅读了源代码std::add_lvalue_reference<T>.确定它们是等价的.
如果是的话,我们可以通过简单的写作T&来节省一些空间.

c++ templates reference type-traits c++11

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

如何使用Visual Studio在dll导出的类中使用唯一指针的向量

一个简单的例子

class __declspec(dllexport) A
{
public:
    vector<unique_ptr<int>> v;
};
Run Code Online (Sandbox Code Playgroud)

VS2013编译中已删除的复制构造函数的错误unique_ptr.如果我删除__declspec(dllexport),它很好.如果我只使用unique_ptr<int> v,它也没关系.这是编译器错误吗?有办法解决吗?谢谢.

您可以在http://webcompiler.cloudapp.net/上使用以下完整代码进行尝试

#include <iostream>
#include <vector>
#include <memory>
using namespace std;

class __declspec(dllexport) A
{
public:
    vector<unique_ptr<int>> v;
};

int main()
{
   cout << "Hello World" << endl; 
}
Run Code Online (Sandbox Code Playgroud)

产生编译错误:

Compiled with /EHsc /nologo /W4 /c
main.cpp
main.cpp(9): warning C4251: 'A::v': class 'std::vector<std::unique_ptr<int,std::default_delete<_Ty>>,std::allocator<std::unique_ptr<_Ty,std::default_delete<_Ty>>>>' needs to have dll-interface to be used by clients of class 'A'
        with
        [
            _Ty=int
        ]
c:\tools_root\cl\inc\xutility(2144): error C2280: …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio c++11 visual-studio-2013

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

如何将两个参数包一起使用?

例如,我有一个带有两个参数包的代码

template<class... Ts, int... Is>
struct B
{

};

int main()
{
    B<int, double, 0, 1> b; // compile error here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何方式获得是对的?

c++ variadic-templates c++11

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

如何在Qt C++项目中调用python matplotlib?

Python matplotlib给出了很好的数字.如何在Qt C++项目中调用python matplotlib?我想把这些数字放在Qt对话框中,数据通过内存传输.

c++ python qt matplotlib

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

如何检查浮点数是否是c ++中的真数?

如何检查浮点数是否为真数?那就是:它不是无穷大,负无穷大,NaN ......

float f;
???
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
2
解决办法
296
查看次数