首页 > 解决方案 > 宏函数 const 参数

问题描述

我定义:


#define macroFunction(A,...)    function((uint8_t*) A)

接着

void function(const uint8_t*A){
    #do Something
}

这个可以吗?或者有没有办法“告诉”宏只接受consts ?

- >这编译和工作,我想知道这是否是一个好习惯。

-> 是的,宏的使用是必要的,我正在展示一个简化的例子。

谢谢!

标签: c++cmacrosconstants

解决方案


#define macroFunction(par1,...)    function(int A)

这个可以吗?

不,我没有看到任何有用的情况。

有没有办法“告诉”宏只接受 consts ?

不。

void function(const int A){

即使对于正确的函数,可以将什么传递给接受 const 的函数或接受非 const 参数的函数也没有区别。它们之间的唯一区别是函数不能修改 const 变量。鉴于函数最好保持简短和简单,参数的常量性很少有用。


推荐阅读