gpt4 book ai didi

c - 我们应该使用宏、内联函数还是只使用普通函数并信任编译器?

转载 作者:太空宇宙 更新时间:2023-11-04 02:01:13 25 4
gpt4 key购买 nike

将以下函数定义为宏函数或内联 函数会更好吗?还是使用普通函数并信任编译器更好,以保持(在我看来)更好的可读性?

typedef unsigned char byte;

void set_size_mark(byte size_mark, byte *ptr)
{
*ptr += size_mark << 1;
}

byte get_size_mark(byte *ptr)
{
return *ptr >> 1;
}

最佳答案

你应该内联那些。无论如何,编译器几乎肯定会自己执行此操作。

代码是一行,不太可能造成代码膨胀,因此内联可能更有效。编译器知道这一点,但是,如果这是不正确的,我认为编译器可以忽略 inline 关键字。

一般来说,您应该避免使用宏 - 它们会导致许多意想不到的问题,并且通常与内联函数一样糟糕,而且更难使用。宏有用途,但这绝对不是一个合适的地方。

关于c - 我们应该使用宏、内联函数还是只使用普通函数并信任编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com