c、cpp中使用匿名结构体、类定义数组
作者在阅读《Unix网络编程》时发现了一个有趣的C/C++用法:直接用匿名结构体定义变量,而无需提前声明一个命名类型。 通常我们习惯先定义`struct MyData { ... }`,再用`MyData array[10]`。但书中有一处代码直接使用了`struct { int id; char name[20]; } array[5];`这种形式。这种写法在定义一次性使用的、作为函数局部变量的数据结构时,显得尤为简洁利落。 匿名结构体避免了在命名空间中创建一个可能用不到的类型名,让代码意图更聚焦于“定义一个特定格式的数组”这件事本身。值得注意的是,这种语法在C和C++11及之后的标准中均受支持。如果这个结构体只在某一个函数内部使用,且逻辑上不与其他地方共享,采用匿名结构体来定义数组是一个既能保持类型清晰,又足够精简的选择。