c++ - 宏函数 const 参数
问题描述
我定义:
#define macroFunction(A,...) function((uint8_t*) A)
接着
void function(const uint8_t*A){
#do Something
}
这个可以吗?或者有没有办法“告诉”宏只接受const
s ?
- >这编译和工作,我想知道这是否是一个好习惯。
-> 是的,宏的使用是必要的,我正在展示一个简化的例子。
谢谢!
解决方案
#define macroFunction(par1,...) function(int A)
这个可以吗?
不,我没有看到任何有用的情况。
有没有办法“告诉”宏只接受 consts ?
不。
void function(const int A){
即使对于正确的函数,可以将什么传递给接受 const 的函数或接受非 const 参数的函数也没有区别。它们之间的唯一区别是函数不能修改 const 变量。鉴于函数最好保持简短和简单,参数的常量性很少有用。
推荐阅读
- ruby-on-rails - 我想在我插入多个图像的相册控制器中删除单个图像。我怎样才能删除?
- python - SCS 和 MOSEK 求解器继续运行
- python - 使用具有多个值的字典过滤数据框
- c++ - C ++“<”小于运算符未按预期工作
- css - 我在我的 react js 中添加了背景图片。但它显示一个错误
- unity3d - unity 3d 的包管理器未显示 ProGrids 模块
- python - 如何使用统计方程python计算总体平均值的置信度值
- swift - 如何从多个凭据中获取特定的用户凭据以用于保护空间
- apache-spark - 无法在 Apache Spark 上执行来自 Aspectj 的建议
- azure - 如何在 Azure 应用程序网关中设置内容编码?