语句问题中要字符串的CPP int
A CPP int to string in a statement question
我必须写一些类似的东西
q.push_back(q1); ... to ... q.push_back(q100);
我以的身份写这篇文章
for (int i = 1; i <= 100; i++) {
try {
std::string s = boost::lexical_cast<std::string > (i);
"q.push_back(q" + s + ");";
} catch (boost::bad_lexical_cast &) {
std::cout << "Some error message n";
}
}
它可以编译(没有语法错误(,但不起作用。我不知道如何混合使用cpp语句和字符串来生成复合语句。
如有任何帮助,我们将不胜感激。谢谢
怎么样:
for (int i = 1; i <= 100; i++)
{
std::cout << "q.push_back(q" << i << ");n";
}
如果您正在使用std::string
(看起来像是(,请尝试s.append(str);
std::ostringstream os;
for( int i = 1; i < 100; ++i)
{
os << "s.push_back( q" << i << "); ";
}
std::string result = os.str();
// Do what you need with result
您的输出字符串被放入for循环中,因此在每个循环中都会初始化字符串,上一个循环中生成的内容也会丢失。
您并没有告诉它将该字符串放在哪里,它只是创建了一个临时字符串。尝试附加到s
。
std::string s = "q.push_back(q";
s.append(boost::lexical_cast<std::string > (i));
s.append(");");
目前尚不清楚您希望如何处理该字符串。如果您将其打印到std::cout
,那么您的错误消息将与结果混合在一起。您应该使用std::cerr
。
std::cerr << "Some error message" << std::endl;
变量q1
,q2
。。。,q100
本来应该是一个数组。
如果我对您尝试做的事情的理解是正确的,那么您基本上想要自动生成一些代码。为此,人们通常使用简单的宏定义。。。
您只需定义一个宏,该宏将for循环中的相应整数作为参数,并扩展到您需要的代码…
快速查看[http://en.wikipedia.org/wiki/C_preprocessor#Token_concatenation]。你可以在宏中使用##将东西粘合在一起,所以你可以在i的for循环中使用如下内容:
#define MY_PUSH(vector, i) vector.push_back(q##i);
但正如人们所建议的那样,首先使用一组变量可能会更好,因为宏基本上是邪恶的,而不是原始代码生成工具。。。
相关文章:
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 从 'int' 到 'int*' CPP 的转换无效
- 主.cpp:18:20:错误:从"int*"转换为"int"会失去精度 [-fa
- C++ 编译器错误:P1LinkedList.cpp:145:错误:重载的"to_string(int&)"调用不明确
- 定义.cpp中常数int/char*
- 需要获取 void 或 int 的 Cpp 模板函子
- Cpp 未定义引用 'Apache:: thrift:: transport:: TSocket:: TSocket (std:: string const&, int)'
- 这个变量如何在 cpp 中用作 int 和数组?
- 如何在 CPP 中使用 int 迭代器打印数组/列表的向量?
- Visual C 计算器类让我在多个CPP文件上传播最低的INT
- 从函数 CPP 返回 int 或 string.c_str() 时的两个不同的行为
- 希望修复 main.cpp 与"std::istream&<< int&"运算符不匹配
- 核心 cpp 指南中 f(T*, int) 接口与 f(span<T>) 接口的含义
- 数据类型在 CPP 中将 int 转换为双倍
- 如何将强调字符转换为数字(INT)CPP
- CPP 将 int 分配给字符串恶作剧
- 在cpp中串联字符串和int作为文件名
- 主.cpp:63:12:错误:从 'int (*)[4]' 到 'int' [-允许] 的转换无效。我做错了什么?
- 当我在c/cpp中执行int*p=p时会发生什么
- 语句问题中要字符串的CPP int