c – 复合参数声明

为了使我的代码更简洁,我可以做类似的事情

int f(int const x, y, z), g(int const x, y, z);

声明函数f和g,每个函数有三个int const参数?

编辑:
也许这是一个更好的例子:

int f(int const a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z);

如果在每个字母之前放入int const,那怎么会更简洁和可读?

使用Boost预处理器,并考虑到你不关心逐个描述函数参数(但不是你问题的重点),你可以使用以下技巧:

#include <boost/preprocessor/repetition/enum_params.hpp>

int f( BOOST_PP_ENUM_PARAMS(26, int const arg) );

但是不要忘记,不采用所需的时间和空间来描述函数参数的整个想法是非常危险的.

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金