微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有rvalue-“ input”的std :: getlinebasic_istream <...> && input,basic_string <...>&str

如何解决带有rvalue-“ input”的std :: getlinebasic_istream <...> && input,basic_string <...>&str

有C ++ 11的更新版本的std :: getline。它接受右值“输入”参数。但是为什么会有一个右值参数,即函数将消耗“输入”参数,而在调用后将输入参数留空?

解决方法

我想这是在代码中将流构造为对Update table SET a=value WHERE x IN (Select * from (select x from table where condition) as t) 的调用的一部分,例如

getline

例如,此代码将从s的第一行放入s2。

像这样的代码在旧版本的std::string s = ...; std::string s2; getline(std::istringstream(s),s2); 中是不合法的,因为该代码的第一个参数是非常量引用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。