小编Mot*_*tti的帖子

如何使用C在Unix上复制文件?

我正在寻找与Win32的CopyFile相当的Unix ,我不想通过编写自己的版本重新发明轮子.

c unix copy

51
推荐指数
6
解决办法
12万
查看次数

我何时应该使用参数?

我不明白何时应该使用输出参数,如果我需要返回多个类型,我个人将结果包装成新类型,我发现使用它比使用更容易.

我见过像这样的方法,

   public void Do(int arg1, int arg2, out int result)
Run Code Online (Sandbox Code Playgroud)

有没有真正有意义的案例?

怎么样TryParse,为什么不返回一个ParseResult类型?或者在较新的框架中返回一个null-able类型?

.net c# out

50
推荐指数
4
解决办法
3万
查看次数

每个班级都应该有一个虚拟的析构函数吗?

Java和C#支持的,不能用作与基类类的概念 finalsealed关键字.但是,在C++中,如果每个类都有一个虚拟的析构函数,那么就没有什么好的方法可以防止类的派生出于某种困境而导致类被派生出来?


编辑:从C++ 11开始,这不再是真的,你可以指定一个类final.


一方面给一个对象一个虚拟析构函数意味着它将拥有一个vtable并因此消耗4个(或64位机器上的8个)每个对象的附加字节vptr.

另一方面,如果有人后来从这个类派生并通过指向基类的指针删除派生类,程序将是错误定义的(由于没有虚拟析构函数),并且坦率地优化每个对象的指针是荒谬.

在具有虚拟析构函数的抓握手上(可以说是)宣称这种类型意味着多态地使用.

有些人认为,你需要一个明确的理由不使用虚拟析构函数(如的潜台词这个问题)和其他人说,只有当你有理由相信,你的类是从派生你应该使用它们,有什么事认为?

c++ virtual-destructor

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

cout,cin,cerr和clog中的"c"是什么意思?

"c"在cout,cin,cerr和clog中的含义是什么意思?

我会说,char但我没有找到任何确认它.

c++ iostream standard-library

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

在c ++中将非const转换为const

我知道你可以const_cast用来投射const到非const.

但是,如果你想将非const转换const为什么,你应该使用什么?

c++ types casting const constants

48
推荐指数
4
解决办法
6万
查看次数

C#4中的动态关键字是否支持扩展方法?

听谈话C#4dynamic关键词,我想知道......请问这个功能是正交的其它.NET功能,例如将它支持扩展方法?

public static class StrExtension {
    public static string twice(this string str) { return str + str; }
}
...
dynamic x = "Yo";
x.twice(); // will this work?
Run Code Online (Sandbox Code Playgroud)

注意:这个问题是在C#4发布之前提出的,这就是为什么它将在未来时使用.

c# extension-methods dynamic c#-4.0

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

你最喜欢的C++ 0x功能是什么?

正如我们许多人所知道的那样(许多人,更多人不知道),C++目前正在进行下一次国际标准修订的最终起草工作,预计将在大约2年内发布.草案和论文目前可从委员会网站获得.正在添加各种新功能,最大的概念和lambda.维基百科有一篇非常全面的文章,其中包含许多新功能.GCC 4.3及更高版本实现了一些C++ 0x功能.

就新功能而言,我非常喜欢类型特征(以及适当的概念),但我的确定领导者是可变参数模板.直到0x,长模板列表通常涉及Boost预处理器,并且编写起来非常不愉快.这使得事情变得更加容易,并且允许使用可变参数模板将C++ 0x模板视为功能完备的语言.我已经用它们编写了一些非常酷的代码,我迫不及待地经常使用它们!

那么您最热切期待的功能是什么?

c++ c++11

41
推荐指数
15
解决办法
3309
查看次数

是否可以使用visual studio远程调试VirtualBox?

我在Sun的开源VirtualBox上运行不同版本的应用程序,是否可以使用Visual Studio从主机操作系统远程调试应用程序?问题是,在Visual Studio中,当我想要连接到远程计算机时,我必须输入计算机名称或IP,并且我从虚拟机中获取的IP不能从主机上ping.

我主要对调试本机代码感兴趣(所以我可以在没有身份验证的情况下运行)但是如果有办法调试托管代码也请告诉我.

我应该注意到主机操作系统是Vista,而访客是XP.


感谢Mark我让事情有效,我会注意到我必须采取的所有步骤以供将来参考:

  1. 将VM网络从更改NATBridged Adapter(必须先关闭VM)
  2. 在来宾操作系统中,将默认安全设置更改为Classic - local users authenticate as themselves如下所述:

    • Control Panel -> Administrative Tools -> Local Security Policy
    • Local Policies -> Security Options
    • 更改Network access: Sharing and security model for local accounts经典 - 本地用户自己进行身份验证
  3. 重启客户操作系统

  4. 禁用客户操作系统上的 防火墙
    • 如果msvsmon不能自己做
    • firewall.cpl

virtualbox remote-debugging visual-studio

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

在列表中查找单个数字

找到在列表中只出现一次的数字的最佳算法是什么,其中所有其他数字恰好发生两次.

因此,在整数列表中(让它作为一个数组),每个整数重复两次,除了一个.找到那个,什么是最好的算法.

puzzle algorithm

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

Go中的恐慌恢复与其他语言的尝试捕获

我刚读过这篇关于恐慌/恢复的帖子,我不清楚它与其他主流语言中的try/catch有何不同.

error-handling exception go

36
推荐指数
4
解决办法
6530
查看次数