问题列表 - 第9687页

从成员指针获取类/结构对象

我有C++结构

struct myStruct {
    int a;
    int b;
    int c;
}; 

myStruct b;
int *ptr = &b.c;
Run Code Online (Sandbox Code Playgroud)

如何从ptr中恢复myStruct对象?

(我知道我可以使用像C中的container_Of()这样的指针算术来实现这一点.基本上就像

reinterpret_cast<myStruct*>(reinterpret_cast<char *>(ptr) - offsetof(myStruct, c));
Run Code Online (Sandbox Code Playgroud)

我问是否有任何推荐/优雅的方式?)

c++

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

JDBC能否处理庞大的数据库?

我正在开发一个拥有庞大数据库的项目.[一周内大约32gb的数据].我们正在使用DB2和spring-framework + jdbc.我只是想知道JDBC是否能够处理这么多数据?或者我应该使用其他东西?或者如果JDBC能够做到这一点,那么我应该使用一些特定的技术来做这件事.

java spring jdbc

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

关于Javascript中RegExp的一个问题

我写了一个正则表达式
^([+/-]?([0-9] +(.)?)|([0-9]*.[0-9] +))$
我用两种方式创建它

var _regex = "^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$";
var _regexFloat = new RegExp(_regex);
Run Code Online (Sandbox Code Playgroud)


var _regexFloat = /^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$/ ;
Run Code Online (Sandbox Code Playgroud)

测试数据是"1a"和"a1".
在第二种方式,它工作正常.
但在第一种方式中,它返回true.

如果我有什么不对劲,有人可以建议我.

非常感谢.

环境:

Windows Server 2003
IE 6

javascript

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

我无法理解"key => value"这段代码在php中?

我在下面的代码中得到了一个关于"$ key => $ value"的问题...我在google中查找了它但没有返回任何结果..我所知道的是"=>"用于数组比如x = array('a'=>'b').

function _stripslashes_rcurs($variable,$top = true)
    {
        $clean_data = array();
        foreach($variable as $key => $value)
        {
            $key = ($top) ? $key : stripslashes($key);
            $clean_data[$key] = (is_aray($value)) ?
                stripslashes_rcurs($value, false) : stripslashes($value);
        }
        return $clean_data;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

php

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

在垂直和水平分割之间切换窗口时,光标在vim中消失

我一直在将VIM中的一些窗口从垂直切换到水平分割,然后使用:

CTRL-W + K
CTRL-W + L
CTRL-W + J
CTRL-W + H
Run Code Online (Sandbox Code Playgroud)

这样做了几次光标就消失了.我仍然可以输入,底部的状态栏仍然显示我的位置,但没有闪烁的光标.任何想法:

  1. 为什么会这样?
  2. 如何让光标回来?

我在Linux上使用vim 7.2

vim split cursor

23
推荐指数
2
解决办法
8214
查看次数

优化F#字符串连接

我正在构建一个批处理插入4096条记录的MySql查询.实际插入非常快,但瓶颈是生成查询.优化这一点的任何提示?字符串生成目前比查询长约18倍.

                    let builder = StringBuilder(524288)
                    Printf.bprintf builder
                        "
                         INSERT INTO %s
                             (`ID`,
                              `Tag`,
                              `Port`,
                              `Excess`,
                              `Return`,
                              `StartDate`,
                              `EndDate`
                              ) 
                          values "
                        x.evaluationstable

                    evaluations
                    |> Seq.iter(fun (e) ->
                        Printf.bprintf builder 
                            " (%d, '%s', '%s', %A, %A, %A, %A), "
                            e.ID
                            e.Tag
                            e.Port
                            e.Excess
                            e.Return
                            (e.StartDate.ToString(x.datetimeformat))
                            (e.EndDate.ToString(x.datetimeformat))
                    )
Run Code Online (Sandbox Code Playgroud)

string optimization f#

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

如何解决Gzip Magic Number Missing

我有一个字符串,我在服务器上Gzip并使用WebClient类下载到客户端.当我尝试解压缩它时,我收到错误信息,表明Magic Number丢失了.我已经尝试过GZipStream类和解决这个问题的ICSharpLib方法,所以我很茫然.

如果我省略通过WebClient下载的步骤(使用将数据作为byte []返回的DownloadData),压缩/解压缩工作,所以我只能假设数据被截断或损坏有些问题,但是因为它是压缩数据,我不知道如何调试它.

这是代码片段,似乎是有问题的部分:

   byte[] response
   try {
        response = client.DownloadData(Constants.GetSetting("SyncServer"));
   } catch {
        MessageBox.Show("There was a problem synchronizing the data. Please try verify the supplied credentials or try again later.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        return;
   }

   int rows = SQLiteAPI.ImportStatHistoryXML(CurrentUser.User, myCampus, Convert.ToBase64String(response));

public static int ImportStatHistoryXML(Person tempPerson, Campus tempCampus, string xmlFile) {
            byte[] encryptedFile = Convert.FromBase64String(xmlFile);
            MemoryStream memStream = new MemoryStream(encryptedFile);
            memStream.ReadByte();
            GZipInputStream stream = new GZipInputStream(memStream);
            MemoryStream memory = new MemoryStream();
            byte[] writeData = new byte[4096];
            int size; …
Run Code Online (Sandbox Code Playgroud)

c# compression gzip webclient httpresponse

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

mmap big endian vs. little endian

如果我mmap用来编写uint32_t,我会遇到大端/小端约定的问题吗?特别是,如果我mmap在大端机器上编写一些数据,当我尝试在小端机器上读取数据时会遇到问题吗?

mmap endianness

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

如何通过反射识别抽象成员

鉴于以下课程 - 我想知道这两个成员中的哪一个是抽象的:

abstract class Test
{
  public abstract bool Abstract { get; set; }
  public bool NonAbstract { get; set; }
}

var type = typeof( Test );
var abs = type.GetProperty( "Abstract" );
var nonAbs = type.GetProperty( "NonAbstract" );

// now, something like:
if( abs.IsAbstract ) ...
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有像IsAbstract-property 那样的东西.
我需要选择一个类的所有非抽象字段/属性/方法 - 但也没有BindingFlags缩小选择范围.

c# reflection

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

如何从windbg中的函数获取返回值?

我正在尝试调试一些win32API,比如返回句柄的Createthread.如何在windbg中获取返回值?

我做了一些研究,发现返回值一般存储在EAx寄存器中.

如果我在CreateThread上放置断点,那么我可以进入Createthread的程序集,最终我会点击ret语句,这意味着Createthread正在返回.

此时我应该检查EAX寄存器的值以获取HANDLE值还是其他方式?

assembly windbg return-value

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