Tag: C#的

静态和密封类的差异

有什么类在静态类中实现吗? 手段: static class ABC : Anyclass 有没有可以在密封类和静态类中inheritance的类? 手段: static class ABC : AClass {} 和 sealed class ABC : AClass {} 我可能在某种程度上是错的吗?

C ++:variables'std :: ifstream ifs'有初始值设定项,但是不完整的types

对不起,如果这是相当不好的,但我很新的C ++。 我试图打开一个文件,并阅读使用ifstream : vector<string> load_f(string file) { vector<string> text; ifstream ifs(file); string buffer, str_line; int brackets = 0; str_line = ""; while ( getline(ifs, buffer) ) { buffer = Trim( buffer ); size_t s = buffer.find_first_of("()"); if (s == string::npos) str_line += "" + buffer; else { while ( s != string::npos ) { […]

从“The C ++ Programming Language”第四版第36.3.6节的这段代码是否有明确的行为?

在Bjarne Stroustrup的“C ++编程语言”第4版第36.3.6节36.3.6 STL操作中 ,以下代码被用作链接的一个例子: void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" ) .replace( s.find( " don't" ), 6, "" ); assert( s == "I have heard it works only if you believe […]

用于Windows的LLVM C ++ IDE

是否有一些Windows的C / C ++ IDE与LLVM编译器(和Clang C / C ++分析器) 集成在一起,就像现代的Xcode一样。 我有Dev-Cpp(它使用过时的GCC)和Code :: Blocks (与一些GCC)。 但GCC给了我非常神秘的错误信息。 我想从Clang前端获得更多用户友好的错误消息。 是的,Clang不能用于复杂的C ++代码,但是中继Clang已经可以自己编译LLVM了。 所以我想知道是否有LLVM IDE在开发或testing版本。 是的,我可以使用Clang作为其他编译器与GCC兼容的IDE。 但是有没有与Clang 集成的 IDE? 铿锵有不同的输出格式,所以IDE必须parsing它。 铿锵可以提供源parsing的IDE。 Clang有一个分析选项,必须在IDE中支持。 看看,例如http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html 而Clang最想要的function是智能自动完成,所以IDE只能提示语法正确的变体,例如只列出这个结构类的字段。 结果:(从答案中合并): Eclipse与CDT> = 8和https://code.google.com/archive/p/llvm4eclipsecdt/插件,从Petri Tuononen(没有智能自动完成) Vim与LLVM项目的vimrc(只有智能补全?) https://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/ Emacs的(智能完成?) https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el Qt创build者: https : //blog.qt.io/blog/2011/10/19/qt-creator-and-clang/ CodeLite: http : //www.codelite.org/LiteEditor/ClangIntegration35

C ++ STL中的const_iterator和非const迭代器有什么区别?

const_iterator和iterator之间有什么区别,你会在哪里使用它们?

为什么“小数”不是一个有效的属性参数types?

这是真的令人难以置信,但真实。 这段代码将不起作用: [AttributeUsage(AttributeTargets.Property|AttributeTargets.Field)] public class Range : Attribute { public decimal Max { get; set; } public decimal Min { get; set; } } public class Item { [Range(Min=0m,Max=1000m)] //compile error:'Min' is not a valid named attribute argument because it is not a valid attribute parameter type public decimal Total { get; set; } } […]

为什么要将字符“A”与0x41进行比较?

我正在看一些C ++代码,并发现以下结构: if('A' == 0x41) { // … } else if('A' == 0xc1) { // … } else { // … } 我得到一个Visual Studio的警告说: 警告C4127条件expression式是不变的。 Visual Studio显然是对的 – 当然'A'被定义为0x41。 为什么作者写这个代码,考虑到三个分支中的两个是死代码?

Java和C / C ++之间进程间通信的最快(低延迟)方法

我有一个Java应用程序,通过TCP套接字连接到C / C ++开发的“服务器”。 应用程序和服务器都运行在同一台机器上,一个Solaris机器上(但我们正在考虑最终迁移到Linux上)。 交换的数据types是简单的消息(login,login确认,然后客户端要求某事,服务器答复)。 每条消息的长度大约为300个字节。 目前我们正在使用套接字,并且一切正常,但是我正在寻找一种使用IPC方法交换数据(更低的延迟)的更快方式。 我一直在研究networking,并提出了以下技术的参考: 共享内存 pipe道 队列 以及所谓的DMA(直接存储器存取) 但是我找不到适合自己的performance的分析,既没有用JAVA和C / C ++来实现它们,也没有我想象得到的pipe道。 任何人都可以在这方面评论每种方法的性能和可行性吗? 任何指针/链接到有用的实现信息? 编辑/更新 下面的评论和答案我在这里,我发现有关Unix域套接字的信息,这似乎是build立在pipe道,并将节省我整个TCP堆栈。 这是平台特定的,所以我打算用JNI或Juds或Junixsocket进行testing。 接下来可能的步骤是直接实现pipe道,然后共享内存,虽然我已经被警告复杂的额外水平… 谢谢你的帮助

使用CMake的预编译头文件

我曾经在网上看过一些关于CMake中预编译头文件的支持。 他们都显得有点全面,每个人都有自己的做法。 目前做什么是最好的方法?

auto &&告诉我们什么?

如果你读的代码像 auto&& var = foo(); 其中foo是通过typesT的值重新调整的任何函数。 那么var是一个左值types的参数为T的左值。 但是这对var意味着什么? 这是否意味着我们被允许偷走var的资源? 有没有什么合理的情况下,当你使用auto&&告诉读者你的代码与你返回一个unique_ptr<>来告诉你拥有独占所有权一样吗? 当T是class级types时,例如T&&怎么办? 我只是想明白,如果有任何其他auto&&用例比那些模板编程中的那些,就像本文在Scott Meyers的Universal References中所讨论的那样。