• 締切済み

C++でのGMP

あるプログラムをC++でつくろうとしています。 GMPを使おうと考えているのですが、mpz_tとmpz_classの違いがわかりません。 それぞれのメリット、デメリット知りたいです。

みんなの回答

回答No.1

C++が使えるのにわざわざCの書き方をしたい理由がわかりません。 C++ならオペレーターのオーバーロードがあるので、かなり直感的にプログラムをかけます。対象の型やメモリーについてもあまり意識する必要がありません。 例えば、1から10までの積を計算するプログラムを書いてみましょう。 C++だとこうです。 #include <iostream> #include <gmpxx.h> int main(void) { mpz_class v("1"); for (int i = 1; i < 10; i++) { v *= i; } std::cout << v.get_str() << std::endl; return 0; } これがCなら、こんな感じです。 #include <stdio.h> #include <stdlib.h> #include <gmp.h> int main(void) { mpz_t v; mpz_init(v); mpz_set_si(v, 1); for (int i = 1; i < 10; i++) { mpz_mul_si(v, v, i); } char* result = mpz_get_str(NULL, 10, v); printf("%s\n", result); free(result); return 0; }

関連するQ&A

  • MinGWでのGMPのインストールについて

    C言語でGMPを使用するためにgmp-5.0.4をダウンロードしてインストールしようとすると, ./configure とコマンドを入力したところでウイルスソフトのAvastが反応して途中で中断してしまいます. Avastの機能をいったんOFFにしてインストールしても問題ないのでしょうか?

  • C言語とC++

    現在C言語を用いてシューティングゲームを作成しています。 ゲームを作成している方の中には、CではなくC++で作成している人もいるようなんですが、C++で作成するとどのような違いがあるのでしょうか? メリットやデメリット、将来性など詳しく教えてもらえると助かります!

  • p2p型とc/s型の違い

    p2p型とc/s型の違いがよくわかりません。 メリットデメリット合わせて違いを教えてください!

  • トラベラーズチェックについて教えてくださ

    今度ハワイに旅行に行くのですがトラベラーズチェック(T/C)を持っていきたいと思っています。 トラベラーズチェック(T/C)を使ったこともなく見たことも無いのですが・・・ どのようにしたら手元にすることができるかとトラベラーズチェック(T/C)のメリット・デメリットを教えてください。 あと現金とどう違いが出てくるかなども教えてください。

  • JavaとC どちらがいいのか

    今回、プログラムを始めようと思い、海外の人気言語ランキングを見たところ、1位がCで2位がJavaでした。 なので今回、回答者様が、触れてみたことがある言語で、おすすめな点を教えていただければ嬉しいです。 後、両方触れたことがあれば2つのメリット&デメリットも教えてくれれば嬉しいです ご回答よろしくお願いします

  • C言語プログラッミング 初心者です

    独学でプログラミングをはじめようと思い、今日、C言語の初心者むけの本を買ってきました。今のところも目標は、音楽系ソフトやゲーム制作です。ここで質問です。 1 C言語に、ここまではできるがこの先はできないという限界はあるのでしょうか。 2 C言語は、まだ発展しているのかもう発展していないのか。うまく説明できませんが、言語やプログラムの仕方がまだ増えているのかということです。 3 CとC+やC++との関係。例えば、まったく違うもの。Cの延長にあるものなど。 4 プログラムするには、visual basicなどのソフトは必要ですか。フリーのソフトはどうですか。 5 C言語と他の言語の違い。メリット/デメリットなど。昨日、立ち話をした人は、Cは基本だがJavaのほうがいいと言ってました。 6 Cが使えるようになったら、次はどの言語を勉強するべきですか。

  • C? C++?? 

    ただいま卒業論文中の大学4年生です。 卒論を OS UNIX でC言語を使ってプログラムを組んでいます。 学校のパソコンに VC++ が入る予定なので Windows を使って C++ も勉強したいと思っています。 が・・・ 疑問に思ったことがあります。 C と C++ ではどの様な違いがあるのですか?? C++ を新たに勉強し直さなければならないのですか?? 複雑なプログラムを組むのには C++ のほうが便利なようですが 簡単なプログラムだったら違いはないのですか?? 「UNIX」 と 「Microsoft VC++」どちらがプログラムを組むのに楽ですか?? 共通点、相違点を教えてください。 **出来ればでいいので回答ください。** あと卒論提出まで2ヶ月ですが UNIXでプログラム → LaTexで卒論 C++を勉強→ VC++でプログラム → Wordで卒論 どちらが手っ取り早いですか??

  • PM770CとPM740Cの違い!!

    こんにちわm(__)m 私はPM770Cが出た時から今までずーーと4年くらい(ですかね?)使ってきた のですが、壊れてしまい、いろいろ試行錯誤したのですがダメだったので PM740Cを購入しました。 PM870Cと迷ったのですが、値段的に安いのと、 店員さんに「2機種(740と870)の違いは、音がうるさいのだけ」と言われたので購入したのですが、 なぜか新しい機種なのに「740」と、4年前の770より数字が低いのは なぜなのでしょうか? 今のところまだ印刷をあまりしてないので、わからないのですが、 淵なし印刷はできるものの、もしかして770よりも劣ってる部分がある バージョンなのでしょうか? もう買ってしまったのでどうしようもないのですが、不安になりました。 770Cよりも劣るということはないのでしょうか? さすがに4年近くたってるので、それはないとは思ったのですが。。 ホームエディションと、プロエディション、みたいにEPSONのプリンターにもなんか違いがあるのかも。。と思ってしまいました。 770を使ってから、740を使った人等、いましたら メリットデメリット等を教えていただきたいです。

  • C,C++,C++/CLIの構造体とクラス

    C++の構造体・クラスって、メンバのアクセス指定子のデフォルトが privateかpublicかという違い「だけ」しか全くないのでしょうか? クラスにおける value class / ref class という分類はC++/CLIのもので これについては value class の方は C言語の構造体に近いという事でいいでしょうか? ref classの方は ネイティブのC++のクラスを マネージ用にしたようなもので C++/CLIの構造体は C++のそれと同じで OKですか? そしてそれらの構造体には、値型・参照型といった分類はないのでしょうか?

  • C#のNetWorkStream

    C#で最近、ソケットプログラミングを勉強し始めました。 そこで、気になったのですが、 データを送信するときや、受信するときの方式に、 SENDやRECEIVEで送信する方法と NETWORKSTREAMを使って送信する方法が あることがわかりました。 この二つの方式のメリット、デメリット、また違いについて ネットでいろいろと探してみたのですが、納得のいく 回答がなかなか得られずにいます。 よろしければ、ご教授していただけるとありがたいです。

専門家に質問してみよう