如果您阅读了IAQ(不常见问题)列表,您会知道auto主要用于定义或声明车辆:
auto my_car;
始终停在户外的车辆:
extern auto my_car;
对于那些缺乏幽默感并且想要“只是事实的女士”的人:简短的回答是,根本没有任何理由要使用auto。唯一允许您使用auto的变量是已经具有auto存储类的变量,因此您只是指定了无论如何都会发生的事情。尝试auto在尚未具有auto存储类的任何变量上使用将导致编译器拒绝您的代码。我想如果您想获得技术知识,则您的实现不必是编译器(而是编译器),并且从理论上讲,它可以在发出诊断后继续编译代码(但事实并非如此)。
kaz的小附录:
还有:
static auto my_car;
这需要根据ISO C进行诊断。这是正确的,因为它声明汽车已损坏。诊断是免费的,但是关闭仪表板灯将花费您80美元。(如果您从eBay购买用于板载诊断的USB加密狗,则不超过20个)。
前面提到的extern auto my_car还需要进行诊断,因此,除负责停车执法的市政工作人员外,它永远不会通过编译器运行。
如果您extern static auto ...在任何代码库中都看到很多内容,那么您的位置就不好了。在整个地方变成Rust之前,立即寻找更好的工作。