异常构造函数来填充字符串流
Make varargs Exception constructor to fill stringstream
基本上我正在制作Exception类,我希望能够轻松地传递调试细节,例如:
var error = someFunction();
if(error!=0) {
throw MyException("someFunction ended with error state #",error,'.');
}
这将要求MyException
类接受可由stringstream
处理的变量参数。我不知道该怎么做,我的想象是这样的:
#include <string>
#include <sstream>
template /* MUCH DEEP MAGIC HERE**/
MyException::MyException(/* MOAR DEEP MAGIC!!! **/) {
std::stringstream ss;
for(/** ITERATE THROUGH MORE MAGIC**/) {
ss<</**FETCH MAGIC STUFF**/;
}
this->message = ss.str();
}
在展开参数包时可以滥用逗号操作符来执行此操作。这就是魔力。
template<typename Stream, typename ...Args>
Stream& print(Stream& o, const Args&... args)
{
auto x = { ((o << args), 0)... };
return o;
}
每次一个将所有参数发送到流,同时接受逗号后面的表达式的结果,构造一个整数初始化列表。
相关文章:
- 将数字转换为填充字符串
- Cryptopp:获取密码输入的填充字符串
- 确切地说,如何解释 std::getline(stream, string) 函数在C++中填充的字符串
- 使用 C++-17,如何从字符串向量填充元组
- 从函数填充的字符串的推导向量到 int 的字符串
- C++用用户输入在循环中填充 char 数组:输入整个字符串时到底发生了什么?
- strcpy_s将超过字符串长度的字符串复制到目标缓冲区(用 0xFE 填充)
- 如何调用 GetAltMonthNames 来填充外部区域设置月份字符串的安全数组
- JNI - 如何填充从 C++ 传递到 Java 的字符串
- 在字符串上迭代并填充C 中的数组
- 在C++编程语言中,如何用n个向量长度的所有可能的字符串组合来填充向量
- 用字符串填充字符数组?C++
- Qt究竟是如何处理字符串的,或者如何生成填充数字
- 填充字符串的向量
- 用输入中给出的单词填充字符串
- 如何填充字符串的可变长度数组
- C - 分配一个未签名的炭缓冲区,然后用字符串填充
- 为什么'insert'在字符串填充中比'append'快?
- 使用XML字符串填充双精度数对的向量
- 分配后如何用字符串填充字符