草庐IT

conventions

全部标签

c++ - 标准 C 函数 : Check for -1 or 0?

许多标准的C和POSIX函数在错误时返回-1,在成功时返回0,例如truncate,fflush,msync等intret=truncate("/some/file",42);使用ret!=-1或ret==0检查是否成功更好,为什么?我的想法根据我的经验,大多数人会检查错误情况(ret!=-1),因为通常只有一个(考虑返回NULL或的函数>EOF错误)。然而事后看来,这些函数可以从直接返回errno中获益(其中0被认为没有错误)。还有一个担心是函数返回的不是0或-1,或者稍后添加了额外的返回值。在这些情况下,测试指示成功的“最严格”值范围是有意义的(ret==0)。更新0我的假设是人们

c++ - C/C++函数/方法修饰

免责声明:我已经有一段时间没有使用C++了...现在装饰C/C++函数/方法声明以提高可读性是否很常见?粗略示例:voidsome_function(INintparam1,OUTchar**param2);宏IN和OUT定义了一个空主体(如果您愿意的话,在这个例子中就是轻量级文档)。当然,我理解这与与方法/函数关联的“文档注释block”在某种程度上是平行的。您能否提供一些其他示例...假设该主题对社区有用。请记住上面的例子就是这样。 最佳答案 我不会欣赏这样的装饰。使用const和引用以及常量引用要好得多,例如voidsome_

c++ - C/C++ : Naming conventions for arrays?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。数组的良好命名约定是什么?我正在处理一个包含几千行代码的代码库,并且没有一致的数组命名约定。很少有人通过在名称末尾附加List来命名它们,例如*message_list*,我真的不喜欢它,因为它错误地暗示这是一个列表(链表),并且很少有人像messages这样通过在末尾附加“s”来命名它们,这比以前的方法要好,但有时会失败。我想知道数组类型变量是否有任何

c++ - 将 C++ 宏重写为函数等

我有一个经常使用的宏,灵感来自另一个问题:#defineto_string(x)dynamic_cast((ostringstream()这个非常方便,例如与接受字符串输入的函数一起使用:some_function(to_string("Theintis"但是有人告诉我在C++中使用宏是不好的做法,事实上我在让上述内容在不同的编译器上工作时遇到了问题。有没有办法把它写成另一种结构,例如一个功能,它会在哪里具有相同的多功能性? 最佳答案 在C++11和更高版本中我们现在有std::to_string.我们可以使用它将数据转换为字符串并

c++ - 使用 C++ header (.h) 与 header 加实现 (.h + .cpp),有什么缺点?

作为一名新手C++程序员,我总是将我的类接口(interface)放在.h文件中,将实现放在.cpp文件中。但是我最近尝试了C#一段时间,我真的很喜欢它简洁的语法和组织文件的方式,特别是header和实现之间没有区别,您通常为每个.cs文件实现一个类而且你不需要标题。我知道在C++中这也是可能的(您可以在.h文件中编写“内联”函数),但到目前为止我一直看到.h之间有明显的区别C++项目中的和.cpp文件。这种方法的优点和缺点是什么?谢谢 最佳答案 在C++中有几种方法可以将这两个帮助分开。首先,如果您想在不更改接口(interfac

DevEco Studio IP Convention for MAC

一、前置条件    1、已经Phone/Tablet和PC连接到同一WLAN网络。    2、已经获取Phone/Tablet的IP地址,可通过设置>关于手机/关于平板>状态信息>IP地址进行                                                                        查看    3、Phone/Tablet上的5555端口为打开状态,默认是关闭状态。        4、在Phone/Tablet中运行应用/服务,需要提前对应用做出签名二、环境准备        1、打开终端工具,执行命令 echo$SHELL 。       

PHP 与 JavaScript 切换缩进

虽然我意识到每种语言都有自己的缩进约定,但我还是忍不住对最近发现的一些事情感到恼火。考虑PHP手册中的这段代码:switch($i){case"apple":echo"iisapple";break;case"bar":echo"iisbar";break;case"cake":echo"iiscake";break;}请注意,每个case都从switch语句中缩进。这是有道理的,因为代码更易于阅读,并且block的主体包含在其中的一层。但是,当我在JSLint中测试等效的JavaScriptswitch语句时:switch(i){case"apple":alert("iisapple

android - Android 中有帮助类的约定吗?

对于我添加到我的应用程序的每个Activity,我注意到在Activity的初始化中使用了很多类似的代码。一个带有静态方法的辅助类来包装类似的代码似乎是可行的方法。我首先想到的是单例类。我可以添加静态方法/变量并在整个应用程序中使用它们。我还没有真正尝试了解这在Android应用程序中如何工作。进一步搜索,我看到了一些关于创建扩展Application的类的内容。为此我做了一个简单的测试:publicclassMyAppextendsApplication{publicstaticStringDEMOTEXT="WORKING!";publicstaticvoidShowToast(C

启动错误:java.lang.incompatibleclasschangeerror:org/apache/struts2/convention/defaultClassFinder $ infobuildingvisitor

我有一个最初基于XML的Struts2应用程序,但现在我第一次引入了基于注释的操作,并且该应用程序在启动上破坏了。给定以下操作映射,在应用程序的启动时,我会得到错误java.lang.InstantiationError:com.opensymphony.xwork2.util.finder.ClassFinderatorg.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:390)atorg.apache.struts2.conv

windows -\Windows\versus\Windows\System32 - 文件位置约定

对于\Windows\中的文件类型与\Windows\System32中的文件类型是否有标准约定?我正在开发一个SDK,其中包含各种DLL、帮助程序exe和Windows服务exe。之前编写代码的人将两个exe文件放在\Windows\中,将DLL放在\Windows\System32\中,但在我看来,它们应该都放在\Windows\System32\中你会怎么做?编辑:我根本不想争论他们是否应该去那里的优点。大量应用程序将东西安装到System32...尤其是服务或驱动程序(我正在处理这两者)。当然,我并不是说这是对的……正如我所说,我最初并不是为了这个问题而创建的……。如果这些是您