问题列表 - 第16352页

Linq to Sql:插入后我可以返回Identity_Scope吗?

在使用linq to sql进行插入后,如果我的表有标识列,我可以获取Identity_scope值吗?

identity-column linq-to-sql

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

在Ruby中使用File.open,open和IO.foreach,有什么区别?

所有以下API都做同样的事情:打开一个文件并为每一行调用一个块.有什么偏好我们应该使用一个而不是另一个?

File.open("file").each_line {|line| puts line}
open("file").each_line {|line| puts line}   
IO.foreach("file") {|line | puts line}
Run Code Online (Sandbox Code Playgroud)

ruby file-io

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

C++数组排序我

困在阵列分拣机上.必须从最大到最小的数字排序.我正在尝试两个循环(一个嵌套在另一个循环中).这是代码:

int counter=0; // inner counter
int counter2=0; // outer counter
int sparky[14]; //array set to 14 just to simplify things
int holder; // holds the highest value
int high; //stores the position where it found the value holder

while (counter2 < howmany)
 {
  holder= sparky[counter];
  while (counter <= howmany)
   {
    counter++;
    if (sparky[counter] > holder)
     {
      holder= sparky[counter];
      high= counter; 
     }
   }
   counter2++;
   counter=counter2;
   sparky[high]= sparky[counter-1];
   sparky[counter-1]=holder;
 }
Run Code Online (Sandbox Code Playgroud)

ARRAY UNSORTED:

data[ 0] = 9
data[ 1] = 8
data[ …
Run Code Online (Sandbox Code Playgroud)

c++ arrays sorting

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

当向量超出范围时,防止数据被释放

有没有办法将std :: vector(由T*数据指向)中包含的数据的所有权转移到另一个构造中,防止在向量超出范围后"data"成为悬空指针?

编辑:我不想复制数据(这将是一个简单但无效的解决方案).

具体来说,我希望有类似的东西:

template<typename T>
    T* transfer_ownership(vector<T>&v){
    T*data=&v[0];
    v.clear();
    ...//<--I'd like to make v's capacity 0 without freeing data 
}

int main(){
    T*data=NULL;
    {
        vector<double>v;
        ...//grow v dynamically
        data=transfer_ownership<double>(v);
    }
    ...//do something useful with data (user responsible  for freeing it later)
   // for example mxSetData(mxArray*A,double*data) from matlab's C interface
}
Run Code Online (Sandbox Code Playgroud)

我想到的唯一可以模仿的是:

{
    vector<double>*v=new vector<double>();
    //grow *v...
    data=(*v)[0];
}
Run Code Online (Sandbox Code Playgroud)

然后,数据将被释放或(在我的情况下)用作mxSetData(mxArray A,双数据).然而,这会导致内存泄漏(用于处理v的容量,大小等的数据结构......但当然不是数据本身).

没有泄漏可能吗?

c++ matlab scope stdvector

7
推荐指数
3
解决办法
2416
查看次数

在Go中嵌入而不是继承

您对此设计决定有何看法?它有什么优点和缺点?

链接:

inheritance embedding go

52
推荐指数
5
解决办法
3万
查看次数

AcquireCredentialsHandle返回SEC_E_NO_CREDENTIALS

我已经设法使用CertOpenSystemStore打开证书存储区,我可以使用我通过Windows Vista Ultimate上的MMC控制台安装的CertFindCertificateInStore找到我的自签名证书(使用OpenSSL创建).但是我不确定这个错误到底是什么意思,因为我无法在MSDN文档中找到答案.这是证书问题吗?或者操作系统问题,从某种意义上说它应该是一个Windows Server操作系统来实现这一点?

我在Delphi 2010中使用Win32 API,但C示例很好.

谢谢,布鲁斯

winapi sspi

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

在Mac的终端内滚动Vim

我一直在谷歌上试图弄清楚是否有可能使用我的鼠标滚轮在Mac的终端内的Vim内滚动,没有运气.似乎只有X11或iTerm支持这一点.

在我放弃之前,我想我会尝试这里的天才,看看是否有人知道如何做到这一点.那么,有谁知道我是否可以设置它?

或者我应该认真考虑使用不同的终端应用程序?

macos vim terminal

87
推荐指数
5
解决办法
4万
查看次数

C++中的模板类......所需的技能组合?

我是C++的新手,我想知道我应该花多少时间学习如何实现模板类.它们是否在工业中广泛使用,或者这是我应该快速完成的事情?

c++ oop templates class

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

在.NET中手动实现高性能算法

作为一种学习经历,我最近尝试使用 C#中的3路分区实现Quicksort.

除了需要在递归调用之前在左/右变量上添加额外的范围检查之外,它似乎工作得很好.

我事先知道框架在List <>中提供了内置的Quicksort实现.排序(通过Array.Sort).所以我尝试了一些基本的分析来比较性能.结果:内置的List <>.Sort方法在同一个列表上运行,比我自己的手动实现快10倍.

使用反射器,我发现List <>中的实际排序.排序是在外部代码中实现的,而不是IL(在名为tryszsort()的函数中).

看看我自己的Quicksort实现,我希望用迭代替换递归调用可能会有所改进.此外,禁用数组边界检查(如果可能)也可以带来一些好处.也许这会更接近内置实现,但我不自信.

所以我的问题是:期望在优化算法(用.NET IL编写,与本机代码相匹配)中的性能是否可以与外部实现的算法的性能竞争?

再一次,我意识到Quicksort是框架的一部分,这对我来说只是一次学习经历.然而,还有许多算法(CRC32可以想到)未提供,但仍然可能对许多应用程序有很大价值.这是关于在.NET中实现CRC32和性能问题的相关问题.

因此,如果您需要在.NET中实现这样的算法,需要了解哪些主要的性能注意事项,以便您的算法至少可以接近外部代码的性能?

[更新]

通过更改算法以在Int的简单数组上操作而不是List,我将执行速度提高到内置Array.Sort的大约10%以内.在Reflector中,我可以看到这避免了对列表中的每个get或set上的Callvirt()操作.我认为这可能会改善一些事情,但我对此感到惊讶.

.net algorithm performance quicksort

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

有没有办法编辑符号链接而不先删除它?

所以我创建了一个符号链接:

ln -s /location/to/link linkname
Run Code Online (Sandbox Code Playgroud)

现在我想更改符号链接链接的位置.我怎么做?有没有办法做到这一点而不是先删除它?

unix symlink

63
推荐指数
7
解决办法
6万
查看次数