implementation-defined(实现定义的):指在某个标准(常见于 C/C++ 等编程语言标准)中,行为/结果由具体实现(编译器、平台或运行环境)来决定,但实现必须在文档中明确说明它选择了什么。
(注:这不同于 unspecified 或 undefined;后两者通常不要求实现给出明确、可查的说明。)
/ˌɪmplɪmenˈteɪʃən dɪˈfaɪnd/
The size of int is implementation-defined.
int 的大小是实现定义的。
Because right shift on negative signed integers is implementation-defined, the result may vary across compilers and targets, so the code documents the assumed behavior.
由于对负的有符号整数进行右移是实现定义的,不同编译器和目标平台的结果可能不同,因此这段代码把所假设的行为写进了文档。
该词由 implementation(实现) 与 defined(已定义的) 组合而成,是标准化文档中的术语:含义是“标准把决定权交给具体实现,但要求实现把选择写清楚”。在 C/C++ 语言标准里常用来区分:哪些行为由标准统一规定,哪些允许不同实现做不同选择但必须可查可知。