小编Mar*_*ata的帖子

如何通过 C 或 C++ API 获得 HDF5 数据集的名称?

我正在尝试使用 C++ API 读取 HDF5 数据集的名称。对于H5::Attribute对象,有一个getName()方法。但是,我没有看到类似getName()H5:DataSet对象方法。

理想情况下,我想这样做:

 void Dump(H5::DataSet& ds)
 {
    cout << "Dataset " << ds.getName() << endl;
    // continue to print dataset values
 }
Run Code Online (Sandbox Code Playgroud)

我知道h5dump可以做到,但是简单看一下代码,它只能通过使用 遍历树来知道它H5Giterate,即只有父母知道孩子的名字,而孩子不知道自己的名字。

c++ hdf5

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

如何包装对`std :: thread`构造函数的调用?(适用于gcc,VS和icpc)

原帖(有错误)

我想包装一个对std :: thread构造函数的调用(以跟踪所有运行的线程,以便我可以加入它们或做其他事情).在此示例中,t1线程正确构造,但t2线程不使用gcc 4.8.1.但是,在Windows(VS2012)上,它编译时没有错误,并且运行没有错误.基于此处的讨论,这似乎是gcc中的一个错误,但可以说它实际上是VS中的一个错误.这样做的正确方法是什么?

#include <iostream>
#include <thread>

class A {
public:
    void foo(int n ) { std::cout << n << std::endl; }
};

template<class F, class Arg>
std::thread& wrapper(F&& f, Arg&& a)
{
   std::thread* t = new std::thread(f,a,100);
   return *t;
}

int main()
{
    A a;

    std::thread t1(&A::foo, &a, 100);
    t1.join();

    std::thread t2 = wrapper(&A::foo, &a);
    t2.join();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是编译器错误

-bash-4.1$ make
g++ -std=c++11    main.cpp   -o main
main.cpp: In function ‘int …
Run Code Online (Sandbox Code Playgroud)

c++ icc c++11 stdthread

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

'this'是局部变量吗?

这里我举一个重载增量运算符的例子:

 class Digit
 {
     int m_digit;

  public:
      Digit (int value)   //constructor
          {
            m_digit = value;
          }

      Digit& operator++();

      int ret_dig (){return m_digit;}
};

Digit& Digit::operator++()
{
   if (m_digit == 9)
        m_digit = 0;

   else  ++m_digit;
    return *this;
 }

int main ()
{
   Digit my_dig (5);
   ++my_dig;
 return 0;
 }
Run Code Online (Sandbox Code Playgroud)

我被告知无法返回局部变量."这个"不是局部变量吗?这是我的想法:

Digit类型的指针附加到成员函数(重载操作符函数).当编译器看到行++ my_dig(即Digit类的实例)时,它会调用成员函数.实例my_dig的地址作为参数传递给函数,并且有一个名为"this"的隐藏"const Digit*"来捕获参数."this"被解除引用(隐式)访问m_digit,这是类Digit的成员变量.所有增量或包装都在函数内部完成,然后对解除引用的"this"的引用返回给调用者.是的,这是我的困惑.如果"this"是const数字*类型的局部变量,返回时它不应该包含垃圾,因为"this"超出了块结束haaa的范围吗?

c++ this this-pointer

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

如何在填充与之关联的NSMutableArray(bind)时刷新NSTableVIew

我试图把我绑NSArraycontroller在一个NSMutableArray; 该数组包含"iData"类型的对象(它是一个自定义类).该类还包含一些NSMutableString变量,这些变量被设置为KVC的键.然后我将my绑定NSTableColumnNSArrayController并分别设置每列的关键模型路径.

当我尝试填充数组时,GUI不会显示任何内容.我忘记了什么?

objective-c nstableview nstablecolumn nsarraycontroller cocoa-bindings

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

C ++将Uint32 IP地址转换为文本xxxx

我想将Uint32 IP地址转换为串联字符串。

在此过程中,我获取了uint8数据,但是我需要将其更改为const char *才能将其连接到IP的其他部分,以便能够在一个变量中打印完整的IP。

如何将uint 8更改为const char *?还是所有转换过程都有更好的方法?

uint32 ipAddress = GetHostIp();
if (ipAddress)
 {
    const int NBYTES = 4;
        uint8 octet[NBYTES];
        int x;
        char *ipAddressFinal;
        for (x = 0; x < NBYTES; x++)
        {
             octet[x] = (ipAddress >> (x * 8)) & (uint8)-1;
        }
        for (x = NBYTES - 1; x >= 0; --x)
        {
            if (NBYTES==4)
                        {
                            const char *IPPart = octet[x]; // HERE IS THE BUG!!!!! ?
                strcpy(ipAddressFinal, IPPart);
                        }
            else
                        {
                            const char *IPPart = …
Run Code Online (Sandbox Code Playgroud)

c++

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

在Python中计算两个分布的协方差矩阵

我想计算两个分布的协方差矩阵,在python中计算它们的可能方法是什么?

python statistics deviation standard-deviation

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

如何通过程序集和methoddef找出方法名称?

在装有 Windows XP 的计算机上开发并运行良好的应用程序在装有 Windows Server 2008 的目标计算机上存在严重问题。即,它无法正常启动,并提供以下信息:

Description:

  Stopped working


Problem signature:

  Problem Event Name:   CLR20r3

  Problem Signature 01: neolant.asrm.rcpfreshner.service

  Problem Signature 02: 1.0.7.0

  Problem Signature 03: 4f4b66d2

  Problem Signature 04: mscorlib

  Problem Signature 05: 2.0.0.0

  Problem Signature 06: 4bf4c743

  Problem Signature 07: e47

  Problem Signature 08: 20e

  Problem Signature 09: Exception

  OS Version:   6.0.6002.2.2.0.272.7

  Locale ID:    1049
Run Code Online (Sandbox Code Playgroud)

我想从中提取所有可能的信息,这意味着我需要知道 mscorlib 中的哪个方法具有 e47 的 methoddef。

我怎样才能检索这些信息?

.net windows-server-2008

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

我需要一个使用python中的面板重叠curses窗口的示例

我正在寻找一个如何curses.panel用来维护重叠窗口的例子.

python curses python-curses

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

应用程序无法正确启动(0xC0000056)。单击“确定”关闭应用程序

我正在 Visual Studio 中开发一个 C++ 应用程序,当我进行调试时出现此错误 - 它永远不会生成main(). 谷歌搜索此错误代码没有帮助 - 事实上,大多数返回点击都是特洛伊木马网站。

Dependency Walker 没有表现出任何有趣的东西。所有 DLL 均在路径中找到,并且全部都是 64 位(如预期)。

windows visual-studio-2013

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

C++在堆栈中分配类,而不是在堆中

我的问题是,下面的声明是在堆栈上还是在堆上分配?

List * aList = new List();
Run Code Online (Sandbox Code Playgroud)

目标是有一个指向堆栈中对象的指针.

c++

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