vit*_*aut 7 c api enums api-design
我正在设计一个C API,除此之外还必须提供一种设置一些双值选项的方法.要识别选项,我使用以下枚举:
typedef enum
{
OptionA,
OptionB,
...
} Option;
Run Code Online (Sandbox Code Playgroud)
Option在公共API函数中用作参数类型是一个好主意:
int set_option(Option opt, double value);
Run Code Online (Sandbox Code Playgroud)
或者更好地使用int:
int set_option(int opt, double value);
Run Code Online (Sandbox Code Playgroud)
考虑到我将来可能需要添加更多选项?
还有现有API的任何一个很好的例子来证明这两种方法吗?
通过使用,enum您可以有效地帮助您的函数用户知道可用的有效值.当然缺点是,无论何时添加新选项,您都需要修改标题,因此用户可能需要重新编译其代码,而如果是,则int可能不必这样做.
| 归档时间: |
|
| 查看次数: |
1105 次 |
| 最近记录: |