普段何気なく、C++11以降の環境で以下のようなコードを書いています。
cpp
1struct Int2 2{ 3 int var1{}; 4 int var2{}; 5 6 Int2() = default; 7 Int2(const int var_) :var1(var_), var2(var_) {} 8}; 9 10const Int2 func(const Int2& a,const Int2& b) 11{ 12 return Int2(a.var1 + b.var2); 13} 14 15int main() 16{ 17 const Int2 a = func(Int2(10), Int2(5)); 18 19 return 0; 20}
まだC++の知識が浅いのでとても怪しいですが、
上記のコードは違反的な書き方をしていないと思っています。
しかし、1つ疑問に思いまして
右辺値はconstの参照渡しの引数(ここでいう"const Int2& a")に渡しても問題ないでしょうか?
言葉が間違っていたらすみません。
また、上記のコードに問題点や改善点がありましたらどのように書くと良いのか教えていただけると幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。