小编use*_*903的帖子

C++类模板参数必须具有特定的父类

给定是一个MyClass具有一个模板参数的类

template<typename T>
class MyClass
{
    //...
};
Run Code Online (Sandbox Code Playgroud)

和另一个MySecondClass有两个模板参数的类.

template<typename T, typename U>
class MySecondClass
{
    //...
};
Run Code Online (Sandbox Code Playgroud)

我想要做的是限制MyClass只允许T一个派生类型MySecondClass.我已经知道我需要类似的东西

template<typename T, typename = std::enable_if<std::is_base_of<MySecondClass<?,?>, T>::value>>
class MyClass
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

我只是不确定要放什么,?因为我想允许所有可能MySecondClass的.

c++ inheritance templates derived-class

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

这个静态对象的指针

如果我接受this一个静态对象并将其存储在Singleton对象的向量中,我可以假设指针在程序的整个生命周期中指向该对象吗?

c++ static

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

在C++中调用模板参数的静态函数

以下Java代码printText(text)在泛型参数上调用静态方法,该参数T表示派生类Printer.是否有可能在C++中实现完全相同的行为?如果有,怎么样?

public class Printer {

   public static void printText(String text) {
      System.out.println(text); 
   }

   public static <T extends Printer>void print(String text) {
      T.printText(text);
   }

   public static void main(String[] args) {
      Printer.print("Hello World!");
  }

}
Run Code Online (Sandbox Code Playgroud)

c++ java generics static templates

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

以kdb +为单位的微秒条数据汇总

如何使用xbar函数以10微秒的条形汇总表中的行。该表由列的timestamp和val。对于以毫秒为单位的聚合,我已经知道我可以简单地timestamp.datetime在xbar查询中使用。

可能的结果表应如下所示:

timestamp                 | val
--------------------------| ---
2015.12.02D12:19:44.434430| 2
2015.12.02D12:19:44.434440| 8
2015.12.02D12:19:44.434450| 5
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

database timestamp time-series aggregation kdb

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

C++ 函数指针返回类型

给定的是以下类(只是标题):

class Example {

public:

    template<class C>
    Example(bool(C::*callbackFunc)(Foo&) = nullptr) : callbackFunc(callbackFunc);

    template<class C>
    ??? getCallbackFunc() const {
        return callbackFunc;
    }

private:

    // store the func ptr
    template<class C>
    bool (C::*callbackFunc)(Foo&);
};
Run Code Online (Sandbox Code Playgroud)

getter 的正确返回类型是getCallbackFunc()什么?

c++ templates function-pointers function callback

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

将动态分配的变量移动到向量中

给出以下C++代码:

std::vector<int> myVec;
int* num = new int(1);
myVec.emplace_back(std::move(*num));
Run Code Online (Sandbox Code Playgroud)

如果将具有动态存储持续时间的变量移动到容器(例如向量)中,num如果myVec被销毁(超出范围),仍然需要手动删除吗?如果我用push_back而不是,有什么区别emplace_back吗?

c++ heap move vector

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

UML 序列图 - 可视化数据验证

方法对一些传递的数据连续执行验证检查。如果验证检查失败,将立即抛出异常并中止该方法。

如何使用 UML 序列图可视化此流程?是否可以/允许在序列图中显示异常?

一个可能的解决方案可能是使用嵌套替代方案。

java diagram uml flow sequence

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

使用嵌套字典在kdb + TSDB表上选择查询

为了存储按kdb + TSDB中的标签分组的基于时间的数据,我创建了一个包含列的表timestamp,val和tags.标签是键值对,因此我使用字典在列中存储此类信息tags.

查询创建表:

myTable:([]timestamp:-12h$();val:-9h$();tags:());
Run Code Online (Sandbox Code Playgroud)

查询插入一些示例数据:

`myTable insert ("P"$"2015-11-30 13:10:45.126381"; 521.45117; `house`room!215 111)
Run Code Online (Sandbox Code Playgroud)

如何获得房屋215的所有数据/行?我尝试了以下查询但没有成功(类型错误):

select from myTable where tags[`house]=215
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

database tags dictionary time-series kdb

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

在具有自动存储持续时间的对象上使用智能指针

如果我在具有自动存储持续时间(即存储在堆栈上)的对象上应用智能指针(scoped_ptr,unique_ptr或shared_ptr),是否会出现问题?我不认为在这两种情况下(有和没有智能指针),如果没有更多的指针指向它们,它们将被删除。指针本身总是具有自动存储期限,即如果超出范围,它们将被删除。

c++ pointers smart-pointers shared-ptr unique-ptr

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

指定给指针的值的存储持续时间

给出以下课程:

class Button {

public:

   enum Color{RED, GREEN, BLUE};
   Color color = RED;

   void setToBlue() {
      Color* colorPtr = &color;
      *colorPtr = BLUE;
      //colorPtr->BLUE;
   }

}
Run Code Online (Sandbox Code Playgroud)

如果我打电话setToBlue(),BLUE直到被销毁才会Button被销毁?为什么外面的注释指令无效?

c++ enums pointers class

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