根据维基百科C++文章的说法:
或者我可以问,为什么`inline`关键字只是一个提示?
我想这里我没有选择。
在面向对象编程中,我们对对象调用方法,并应避免直接访问成员。如果我们无法强制访问器内联,则无法编写高性能但仍可维护的应用程序。
(我知道许多编译器实现了自己的强制内联方式,但这很丑陋。使用宏使类上的内联访问器也很丑陋。)
编译器总是比程序员做得更好吗?
既然设计如此,为什么没有一种标准的方式来强制编译器内联某些内容,即使我可能是错的呢?C++旨在给程序员提供选择,即使这使得程序员可能会做出错误的选择。
或者我可以问,为什么`inline`关键字只是一个提示?
我想这里我没有选择。
在面向对象编程中,我们对对象调用方法,并应避免直接访问成员。如果我们无法强制访问器内联,则无法编写高性能但仍可维护的应用程序。
(我知道许多编译器实现了自己的强制内联方式,但这很丑陋。使用宏使类上的内联访问器也很丑陋。)
编译器总是比程序员做得更好吗?