Tag: C#的

C ++捕获所有exception

有没有Java的C ++等价物 try { … } catch (Throwable t) { … } 我正在尝试debugging调用本机窗口函数的Java / jni代码,并且虚拟机不断崩溃。 本机代码在unit testing中显示正常,只有在通过jni调用时才会崩溃。 通用的exception捕获机制将非常有用。

5年后,有没有比“最快可能的C ++代表”更好的东西?

我知道“C ++委托”这个话题已经被完成了,而且这两个方法都深深的涵盖了这个问题。 一般来说, 克鲁格斯顿(Don Clugston)最快的代表似乎是许多人的首选。 还有其他一些stream行的。 不过,我注意到这些文章中的大部分都是旧的(大约在2005年),许多deviseselect似乎都是考虑到像VC7这样的旧编译器。 我需要一个非常快速的委托实施audio应用程序。 我仍然需要它是可移植的(Windows,Mac,Linux),但我只使用现代编译器(VC9,在VS2008 SP1和GCC 4.5.x)。 我的主要标准是: 它一定是快! 它必须与新版本的编译器向前兼容。 我对唐的执行有一些怀疑,因为他明确指出它不符合标准。 可选地,KISS语法和易用性很好 多播将是很好,虽然我相信这是很容易围绕任何代表图书馆 而且,我并不需要奇特的function。 我只需要很好的旧的指针方法的东西。 无需支持静态方法,免费function或类似的东西。 到今天为止,推荐的方法是什么? 仍然使用唐的版本 ? 还是有关于另一种select的“社区共识”? 我真的不想使用Boost.signal / signal2,因为在性能方面它是不可接受的。 对QT的依赖也是不可接受的。 此外,我看到一些较新的图书馆,而谷歌search,如cpp事件,但我找不到任何来自用户的反馈,包括SO。

状态机教程

我只是想知道是否有人知道在互联网上开发状态机的一些很好的教程。 还是电子书? 我开始在状态机上工作,只需要一些一般的东西让我开始。

C / C ++免费替代林特?

我感兴趣的是一个免费的工具,可以像Lint那样静态检查我的C ++代码。 任何提示?

核心转储 – 但核心文件不在当前目录?

当运行一个C程序时,它说“(核心转储)”,但在当前path下我看不到任何文件。 我已经设定和validation了限制: ulimit -c unlimited ulimit -a 我也试图find名为“核心”的文件,但没有得到核心转储文件? 任何帮助,我的核心文件在哪里?

用户定义的文字添加到C ++中的新function是什么?

C ++ 11引入了用户定义的文字 ,它将允许基于现有文字( int , hex , string , float )引入新的文字语法,以便任何types都能够具有文字表示。 例子: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return std::complex<long double>(0, d); } auto val = 3.14_i; // val = complex<long double>(0, 3.14) // binary values int operator "" _B(const char*); // raw form int answer […]

解释Morris inorder树遍历而不使用堆栈或recursion

有人可以帮助我理解下面的Morris inorder树遍历algorithm,而不使用堆栈或recursion? 我试图了解它是如何工作的,但它只是逃避我。 1. Initialize current as root 2. While current is not NULL If current does not have left child a. Print current's data b. Go to the right, ie, current = current->right Else a. In current's left subtree, make current the right child of the rightmost node b. Go to this left child, […]

如果string在.NET中是不可变的,那么为什么子string需要O(n)次?

鉴于string在.NET中是不可变的,我想知道为什么他们被devise为这样的string.Substring()需要O( substring.Length )时间,而不是O(1) ? 即什么是权衡,如果有的话?

通过引用或值的shared_ptr?

当一个函数需要一个shared_ptr (来自boost或C ++ 11 STL)时,你是否传递它 通过const引用: void foo(const shared_ptr<T>& p) 或值: void foo(shared_ptr<T> p) ? 我宁愿第一种方法,因为我怀疑它会更快。 但是,这真的值得吗?还是还有其他问题? 请给出你select的理由或者如果是这样的话,为什么你认为这没有关系。

为什么调用派生类中的方法调用基类方法?

考虑这个代码: class Program { static void Main(string[] args) { Person person = new Teacher(); person.ShowInfo(); Console.ReadLine(); } } public class Person { public void ShowInfo() { Console.WriteLine("I am Person"); } } public class Teacher : Person { public new void ShowInfo() { Console.WriteLine("I am Teacher"); } } 当我运行这个代码时,输​​出如下: 我是人 但是,你可以看到它是一个Teacher的实例,而不是Person的实例。 为什么代码会这样做?