当一个在参数中带有指针的函数被内联时,编译器是否会在优化过程中删除间接?当然,当它有意义时..
这是一个明显的例子:
inline void say_hello (person* p) {
std::cout << "hello " << p->name << std::endl;
}
int main () {
person goldorak;
goldorak.name = "Goldorak";
say_hello(&goldorak);
return 0;
}
这种情况是微不足道的,但是如果编译器进行了优化,是否有一些情况不会?
奖励:我在哪里可以获得我的编译器所做的一些“基本”优化的列表?
ps:我只是好奇