【发布时间】:2009-12-03 07:33:32
【问题描述】:
我正在编写一个库,想知道公共 API 中使用的数据类型的最佳做法是什么。
给定函数
void foo (int bar)
它期望某个内部数组/容器的索引。那应该是什么类型的?因为索引永远不会是负数,所以我可以使用 unsigned int 或 size_t。或者如果提供了一些无效值,我应该坚持使用普通的 int 并断言/抛出?
一般情况下:我应该根据有效数据范围(例如,避免否定检查)选择类型吗?
编辑:另一个例子,假设我的库提供了一个打印文件的功能。用户可以选择要打印的页面范围:
void print (int page_from, int page_to)
【问题讨论】: