gpt4 book ai didi

c++ - 有宏 'return' 的值

转载 作者:IT老高 更新时间:2023-10-28 21:59:02 26 4
gpt4 key购买 nike

我正在使用宏,我认为它可以正常工作 -

#define CStrNullLastNL(str) {char* nl=strrchr(str,'\n'); if(nl){*nl=0;}}

因此它可以将字符串中的最后一个换行符归零,实际上它用于在 fgets 保留它时切断换行符。

所以,我想知道我是否可以从宏中“返回”一个值,以便可以像这样调用它

func( CStrNullLastNL( cstr ) ) ;

或者我必须写一个函数

最佳答案

对于要“返回值”的宏,宏本身必须是一个表达式。您的宏是一个语句 block ,不能计算为表达式。

你真的应该写一个 inline 函数。它将同样快速且更易于维护。

关于c++ - 有宏 'return' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679182/

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