C++相談室 part166 (569レス)
上下前次1-新
抽出解除 レス栞
155(4): デフォルトの名無しさん (JP 0H7f-JT63) [] 2025/05/29(木) 00:33:28.11 ID:gwInQzjaH(1/2) AAS
zを複素数としてz+1は数学の教科書は普通にある。ところが、C++のプログラムで
z1=z+1としようものならテンプレート関係のエラーメッセージがズラっと出てくる。
初心者は戸惑う。いい加減、complex.hに
template <class T, class U>
decltype(auto) operator + (const std::complex<T>& z, U d)
{
return std::complex< decltype(std::declval<T>() + std::declval<U>())>
(real(z) + d, imag(z));
}
みたいなものを追加してくれないか?
160: デフォルトの名無しさん (ワッチョイ 2b01-1uF+) [sage] 2025/05/29(木) 10:55:19.72 ID:crgrWrcc0(1) AAS
>>155
C++で型を理解することは必須だし型を理解していたら特には難しくはない
エラーは分かりやすくあるべきだとは思うけども
195(1): デフォルトの名無しさん (JP 0H16-tLkV) [] 2025/06/02(月) 16:43:02.90 ID:wUlZIBZbH(1/2) AAS
あのー、話をぶったぎってすみません。
>>155の関数の戻り値は
decltype(auto) じゃなくて 単純にautoでいいです
よね?
RVOを使っているから値返しで良いし、参照返しも
okなdecltype(auto)は過剰スペックなような。
199: デフォルトの名無しさん (JP 0H16-tLkV) [] 2025/06/02(月) 23:11:50.34 ID:wUlZIBZbH(2/2) AAS
>>195 = >>155 です。
212(2): デフォルトの名無しさん (スッップ Sda2-dO7W) [] 2025/06/03(火) 20:22:12.60 ID:ETf4Zm6Cd(1) AAS
>>155
虚数は実在しない
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s