問題タブ [c++98]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1232 参照

c++ - ヒープに割り当てられたベクターで push_back を使用する

関数内に文字列ベクトルを作成し、ヒープにメモリを割り当てたいと考えています。このために私は使用しています

vector<string>* residuetable = new vector<string>();

私がやろうとすると

&residuetable.push_back(modulo((exponentiate("2", exponent02)), modulus));

つまり、 push_back関数を使用して、複数の関数呼び出しからの戻り値をベクターに追加しようとすると、コンパイル時エラーが発生します。

request for member 'push_back' in 'residuetable', which is of non-class type 'std::vector<std::string, std::allocator<std::string> >*

この問題を解決し、ヒープに割り当てられたベクトルの最後に関数呼び出しの結果を追加するにはどうすればよいですか?

0 投票する
1 に答える
278 参照

c++ - std::vector のイテレータにポインタを渡すことはできますか

次のコードに出くわし、頭の中でいくつかの疑問が生じました

where bytes is QByteArraybytes.constData()returnconst char*

ここでベクターのコンストラクターについて調べましたが、この説明に適していると思われる唯一のコンストラクターは

今私の質問は:

1-ベクターの反復子にポインターを渡すことは可能ですか? なぜbytes.constData() + bytes.size() ですか?たとえば、後でバイトに変更を加えた場合、これはコピーを作成しますか? buf に影響しますか?

0 投票する
3 に答える
897 参照

c++ - C++98 中かっこ const スカラーの初期化

よくわからないコードに出くわしました。これを簡略化したバージョンを次に示します。

このコードは C++98 モードの GCC でコンパイルされますが、Clang ではコンパイルされません。Clang は次のエラーを生成します。

私が理解している限り、int中括弧ありとなしの初期化は同等である必要があります。Clangiは に正しく初期化され42ますが、それがコンパイル時の定数であるとは考えていません。

このコードは、C++11 モードで適切にコンパイルされます。

jコンパイル時定数として扱われる理由とそうでない理由はiありますか? それとも単に Clang のバグですか?

更新:この問題について、LLVM バグ トラッカーでチケットをオープンしました。

0 投票する
1 に答える
839 参照

c++ - Project euler #25 に対するブルート フォース ソリューションの改善

私は最近、この Project Euler Problem #25 に出くわしました:

第 12 項 F12 は、3 桁を含む最初の項です。

フィボナッチ数列で最初に 1000 桁になる項は?

私は C++98 を知っているだけで、他のプログラミング言語は知りません。私はそれを解決しようとし、c++ 11 のサポートを得るために変更を加えました。

働く:

これが力ずくであることはわかっていますが、答えを得るためにもっと効率的にすることはできますか?

どんな助けでも大歓迎です。

編集:

PaulMcKenzieが提案した Binet の式を使用し、次のように実装します。

出力: 4780.187012

上記の 1 行目を次のように変更します。

出力: 4781.859375

ここで考えられるエラーは何ですか?