首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++向字符串流添加n个字符串

C++向字符串流添加n个字符串
EN

Stack Overflow用户
提问于 2018-12-22 04:46:17
回答 1查看 87关注 0票数 0

我有点被困在了C++ 11之前的地方。我如何编写一个函数,它接受n个字符串并将它们附加到strings流中?

代码语言:javascript
复制
void Foo(std::string first_part, ...){
    std::ostringstream oss;
    oss << first_part << ...; // cant do it
    for(int i = 0; i < ....length(); i++){ // :|
    }
}

如果我生活在一个完美的世界里,我可以做到以上几点。在C++ 11之前,有没有其他方法遍历...参数?

EN

回答 1

Stack Overflow用户

发布于 2018-12-22 04:57:10

抱歉,但它不能直接完成(至少不能在可移植代码中)。

尝试将非平凡类型(包括std::string)作为可变参数传递会导致未定义的行为。

如果您想做一些类似的事情,您可以(举个例子)传递许多字符串的地址,而不是尝试传递字符串本身。

如果这样做,您仍然必须处理另一个细节:您将需要告诉接收函数期望的字符串数量(地址)。

从那里,接收函数将使用va_startva_argva_end来检索数据并对其进行处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53890618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档