私は(最近)variadicテンプレートについて最近聞いた。コンパイル時間の多項式
template <int... coefs>
struct polynom {}
、単項マイナスとMUL演算子を追加サポートcoudどちら:コンパイル時演算子多項式 - 私はint型を作るための方法があればことを知っているように思います。
[編集]:claryfying質問:
INT-多項式は、基本的に1つの整数のリスト(係数)である。
1 + 2x^2 - 7x^5 <=> (1, 0, 2, 0, 0, -7)
私はこの多項式は、コンパイル時定数で表すことたいです。
polynom<1,0,2,0,0,-7>
最初に追加(要素を1つずつ追加する)を考えてみましょう。
polynom<1,0,1> + polynom<-1,2,1,3> -> polynom<0, 2, 2, 3>
:
はそのようなこと何とか演算子+を持つことは可能ですか?
乗算では、同様の(しかし、より複雑な問題です)。
ここに誰かがそれについての経験はありますか?
テンプレートはコンパイル時のメカニズムです。コンパイル時に評価される多項式が必要な場合は、提案しているものを取り除くことができます。実行時の値をテンプレート引数として使用することはできません。多項式の最大次数を単一のテンプレート引数とし、その項を 'std :: array'に格納する方が良いでしょう。 –
'polynom <1,2>'が 'polynom <2,1>'と違う点は何ですか? – HolyBlackCat
@FrançoisAndrieux:係数がコンパイル時定数の場合はどうなりますか? –