![]() |
1
1
我有一个解决办法,我并不特别自豪…… 我们可以使用以下方法获得纯格式和字符串形式的第一个参数:
注意,在使用中,为了不获得警告,应该这样做
我们定义以下助手函数:
当断言具有格式字符串时,函数将使用
注意
|
![]() |
2
3
我们需要真正地使用最大值的预处理器,以便将没有其他参数与它们所在的情况区分开来。但是有了boost.pp,你就可以做到:
你可以 see it live .
既然我们已经走下了这个兔子洞,如果你不想拉进Boost.pp,以上可以用通常的论点计数技巧来完成,稍微调整一下。首先,我们必须决定允许的参数的最大限制。我选择了20个,你可以选择更多。我们需要典型的
这是一场争论,但有点扭曲。什么时候?
|
![]() |
3
1
基本的解决方案是
这个解决方案使用C++流,所以你可以按照你认为合适的格式格式化输出。实际上,这是一个简化的C++ 17解决方案,我用它来避免暂时性的(人们倾向于使用)。
然后这样使用:
我认为这里的可选性是伪造的,因为您输出的是“断言错误:”,这意味着您需要一条消息。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 3 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 3 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 3 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 3 月前 |