最近我一直在认真研究我的编程风格以及如何改进它。首先让我说,在我目前的角色中,我是唯一的程序员。结果,我可以随心所欲地把事情弄得乱七八糟,但我真的在努力成为一个更好、更健全的程序员。
此外,我的背景主要是基于 C 的,必要时基本上使用 C++ 作为 C 的超集。结果,我偶然发现了以下难题。
我总是用类似 #define ERROR_FUNCTION_BLEW_UP -2 的东西定义错误代码。老实说,我可以看到这样做的好处,因为我不必分配内存来存储 -2。但是,在 C++ 中,我可以看到使用 const 变量的好处,因为两个竞争宏之间发生冲突的可能性较小。
结果,我想知道在 C++ 中实现错误代码最简洁的方法是什么。也就是说,我希望客户端能够通过执行类似于“if (return_value == ERROR_FUNCTION_BLEW_UP)”的操作来检查某些函数的返回值。我尝试在每个类中添加一个 const 变量,但是代码看起来不正确。也就是说,客户端现在检查“if (return_value == MyClass.kErrorFunctionBlewUp_)”的内容。有没有一种更简洁的方法来实现这一点,而不是让常量成为类的公共成员?
另外,补充一下我的问题,myClass 是一个基类,现在我想在 MyDerivedClass 中添加更多错误代码。解决此问题并避免使用宏的最佳方法是什么?
谢谢大家的帮助。