このコードに問題があります:
#include <string>
#include <iostream>
struct A{
template<class UT>
A(UT &&s) : internal(std::forward<std::string>(s)){
}
std::string internal;
};
int main(){
const std::string &s = "hello";
A a1{ s };
std::cout << "s = " << s << std::endl;
}
この現在の例はコンパイルされずs
、非 const に変更すると文字列が移動します。
私は正常に動作する同様のコードを持っていますが、この場合、私には見えない問題があります。