在C++中通常用某种前缀命名成员变量来表示它们是成员变量而不是局部变量或参数.如果你来自MFC背景,你可能会使用m_foo.我myFoo偶尔也见过.
C#(或者可能只是.NET)似乎建议只使用下划线,如_foo.这是否允许C++标准?
昨天我和同事讨论了什么是首选的错误报告方法.主要是我们讨论了异常或错误代码的使用,以报告应用程序层或模块之间的错误.
您使用什么规则来决定是否抛出异常或返回错误代码以进行错误报告?
我有一个返回自定义类结构的函数,但是如何处理我希望通知用户函数失败的情况,如返回false.
我的函数看起来像这样:
Cell CSV::Find(std::string segment) {
Cell result;
// Search code here.
return result;
}
Run Code Online (Sandbox Code Playgroud)
因此,当成功时,它会返回正确的结果,但是当它失败时我该如何处理?
我想在Cell中添加一个布尔方法来检查什么Cell.data是空的(Cell.IsEmpty()).但我是否以过于复杂的方式思考这个问题?
通常你有一个函数,对于给定的参数,它不能生成有效的结果,或者它不能执行某些任务.除了在C/C++世界中不常用的例外之外,基本上有两个学校报告无效结果.
第一种方法将有效返回与不属于函数的codomain的值(通常为-1)混合并指示错误
int foo(int arg) {
if (everything fine)
return some_value;
return -1; //on failure
}
Run Code Online (Sandbox Code Playgroud)
第二种方法是返回函数状态并将结果传递给引用
bool foo(int arg, int & result) {
if (everything fine) {
result = some_value;
return true;
}
return false; //on failure
}
Run Code Online (Sandbox Code Playgroud)
您更喜欢哪种方式?为什么?第二种方法中的附加参数是否会带来显着的性能开销?
从C++函数返回成功或一个或多个错误代码的好方法是什么?
我有这个名为save()的成员函数,它保存到每个成员变量中,至少有十个这些成员变量被保存到,对于调用save(),我想找出是否调用失败,如果是这样,关于哪个成员变量(一些是硬故障,一些是软的).
在Linux中,例如当我使用批处理时,如果错误代码为0,这很好,但C++中的约定是什么?
当int(或bool)等于1时,我们说这是真的,但是在C++中返回这样的函数应该是什么?