Tag: C#的

你在Vim中debuggingC ++代码吗? 怎么样?

问题在于所有使用Vim开发C ++应用程序的人。 我的生活中有一段时间,可以形容为'我讨厌Vim !!!''Vim很好! 但是,在微软开发IDE中,我已经习惯了那些debugging代码,观察窗口,调用堆栈和主代码的F5 – F11快捷键 – 所有可见的命令都不需要input任何GDB命令。 所以,这是一个问题: 你也使用Vim进行debugging吗? 或者你为此切换到一些IDE? 哪一个? 对于那些使用Vim来debugging代码的人来说:有没有插件可以在编辑器中设置断点,突出显示当前正在debugging的行,在步骤中自动导航,步入,退出? 请不要告诉我你使用GDB作为命令行,只能看到一行被debugging的行等

删除string中第一个字符的最快方法

假设我们有以下string string data= "/temp string"; 如果我们想删除第一个字符/我们可以通过很多方法来完成,比如: data.Remove(0,1); data.TrimStart('/'); data.Substring(1); 但是..真的我不知道哪一个有最好的algorithm,并做得更快.. 有一个是最好的还是全部都是一样的?

程序在3个主要的C ++编译器中被编译得不同。 哪一个是对的?

作为一个有趣的后续(虽然没有很大的实际重要性)到我以前的问题: 为什么C ++允许我们在声明variables时在括号中包围variables名? 我发现将括号中的声明与注入的类名称function组合在一起可能会导致令人惊讶的编译器行为结果。 看看下面的程序: #include <iostream> struct B { }; struct C { C (){ std::cout << "C" << '\n'; } C (B *) { std::cout << "C (B *)" << '\n';} }; B *y = nullptr; int main() { C::C (y); } 用g ++编译4.9.2给了我下面的编译错误: main.cpp:16:10: error: cannot call constructor 'C::C' directly [-fpermissive] 它使用MSVC2013 […]

istringstream,ostringstream和stringstream有什么区别? /为什么不在任何情况下使用stringstream?

我什么时候会使用std::istringstream , std::ostringstream和std::stringstream ,为什么不应该在每个场景中使用std::stringstream (是否有任何运行时性能问题? 最后,有什么不好的(而不是使用stream): std::string stHehe("Hello "); stHehe += "stackoverflow.com"; stHehe += "!";

在C#中有一个Java等价于null合并运算符(??)吗?

可能重复: 如何获得Java中的第一个非空值? 是否有可能做类似于下面的Java代码: int y = x ?? -1; 更多关于 ??

等效于库(DLL)的“app.config”

是否有一个相当于库(DLL)的app.config ? 如果不是,存储特定于库的configuration设置最简单的方法是什么? 请考虑图书馆可能会用于不同的应用程序。

为什么C ++编译器不能将这个条件布尔赋值作为无条件赋值来优化?

考虑以下function: void func(bool& flag) { if(!flag) flag=true; } 在我看来,如果标志有一个有效的布尔值,这将等于无条件设置为true ,如下所示: void func(bool& flag) { flag=true; } 然而gcc和clang都没有这样优化它们 – 都在-O3优化级别生成以下代码: _Z4funcRb: .LFB0: .cfi_startproc cmp BYTE PTR [rdi], 0 jne .L1 mov BYTE PTR [rdi], 1 .L1: rep ret 我的问题是:这只是代码是太特殊的情况下,照顾优化,或者有什么好的理由,为什么这样的优化将是不受欢迎的,因为该flag不是一个参考volatile ? 这似乎是唯一可能的原因是flag在某种程度上可能具有非true false价值,而在阅读时却没有不确定的行为,但我不确定这是否可能。

std :: move和std :: forward有什么区别?

我看到这里: 移动构造函数调用基类移动构造 有人可以解释: std::move和std::forward之间的区别,最好用一些代码示例? 如何轻松考虑,何时使用哪个

C#:为什么要签署一个程序集?

在我接pipe的一些C#代码中(在Visual Studio 2005中),我注意到程序集都使用相同的.snk文件签名。 为什么以前的作者用这种方式签署了议会呢? 签署组件是否必要,什么是不签名? 签署程序集有什么缺点 – 是否会导致延迟?

在C#中字典的字面符号?

我目前有一个JavaScript和一个用C#编程的服务器之间的WebSocket。 在JavaScript中,我可以使用关联数组轻松传递数据: var data = {'test': 'val', 'test2': 'val2'}; 为了在服务器端表示这个数据对象,我使用了一个Dictionary<string, string> ,但是这比在JavaScript中input更贵: Dictionary<string, string> data = new Dictionary<string,string>(); data.Add("test", "val"); data.Add("test2", "val2"); C#中的关联数组/ Dictionary是否有某种文字符号?