• [解決済み] 同じベクトルから要素をpush_backするのは安全ですか?

    質問 vector<int> v; v.push_back(1); v.push_back(v[0]); 2回目のpush_backで再割り当てが発生すると、vector内の最初の整数への参照はもはや有効ではなくなります。では、これは安全ではないのでしょうか? vector<int> v; v.push_back(1); v.reserve(v.size() +

    2022-06-30 03:34:34
  • [解決済み] new'を使うとなぜメモリリークが起こるのか?

    質問 私はC#を最初に学び、今はC++を始めています。私が理解しているように、演算子 new はC#のものと似て非なるものです。 このサンプルコードでメモリリークが発生した理由を説明してください。 class A { ... }; struct B { ... }; A *object1 = new A(); B object2 = *(new B()); どのように解決す

    2022-06-29 22:07:18
  • [解決済み] STLコンテナをフィルタリングする最新の方法とは?

    質問 何年も C# を使用してきた後、C++ に戻ってきたのですが、現代の - C++11 の - 方法はどのようなものなのでしょうか。つまり、この Linq クエリと同様のものをどのように実現するかということです。 var filteredElements = elements.Where(elm => elm.filterProperty == true); 要素のベクトル

    2022-06-29 07:04:48
  • [解決済み] C++のIOStreamsを設計したのは誰か、そしてそれは現在の基準でもよく設計されていると言えるか?[クローズド]

    質問 終了 . この質問は オピニオンベース . 現在、回答は受け付けておりません。 この質問を改善したいですか? 質問を更新して、事実と引用で答えられるようにします。 この投稿を編集する . 終了

    2022-06-29 04:37:02
  • [解決済み] std::vector<char> から std::string を作るには?

    質問 C スタイルの文字列を最初に作成し、それを使用して std::string を作成するという (当然の) 方法以外に、文字列のベクトルから文字列を初期化する、より迅速で代替の、"より優れた方法はありますか? どのように解決するのですか? さて、一番良い方法は、以下のコンストラクタを使うことです。 template&lt;class InputIterator&gt; stri

    2022-06-29 03:51:13
  • [解決済み] 仮想関数とパフォーマンス - C++

    質問 クラス設計において、抽象クラスと仮想関数を多用しています。仮想関数はパフォーマンスに影響するような気がしています。これは本当でしょうか?しかし、この性能差は顕著ではなく、早すぎる最適化をしているように見えると思うのですが。そうなんですか? どのように解決するには? 経験則から言うと 証明できるまでは、パフォーマンスの問題ではありません。 仮想関数の使用はパフォーマン

    2022-06-28 21:58:10
  • [解決済み] C++プロジェクトの構成 (gtest, cmake, doxygenを使用)

    質問 私はプログラミング全般が初めてなので、C++で簡単なベクタークラスを作ることから始めようと思いました。 しかし、私は後で私のワークフローを修正しようとするのではなく、最初から良い習慣を身につけたいと思います。 現在、私は2つのファイル vector3.hpp と vector3.cpp . このプロジェクトは徐々に大きくなり(一般的な線形代数ライブラリになる)、私がすべてに精

    2022-06-28 07:54:19
  • [解決済み] 代入演算子と `if (this != &rhs)` の移動

    質問 クラスの代入演算子では、通常、代入されるオブジェクトが呼び出したオブジェクトであるかどうかをチェックする必要があります。 Class&amp; Class::operator=(const Class&amp; rhs) { if (this != &amp;rhs) { // do the assignment } return *this

    2022-06-28 04:01:45
  • [解決済み] C++とPythonの等価なジェネレータパターン

    質問 私は、C++で模倣する必要があるいくつかのPythonコードの例を持っています。私は特定のソリューションを必要としません (共同ルーチン ベースの収量ソリューションなど、それらもまた許容される回答でしょうが)、私は単に何らかの方法でセマンティクスを再現する必要があります。 Python これは基本的なシーケンスジェネレータで、実体化したバージョンを保存するには明らかに大きすぎま

    2022-06-27 21:09:10
  • [解決済み] Node.jsで作ったWebサイトをGithub Pagesに公開するには?

    質問 Node.jsをサーバにしたWebサイトを作りました。ご存知のように、node.jsファイルはターミナルでコマンドを入力することで動き出すはずなので、Github Pagesがnode.js-hostingをサポートしているかどうかわかりません。だから、私は何をすべきですか? どのように解決するのですか? GitHub のページは静的な HTML ページのみをホストしています。

    2022-06-27 11:12:54
  • [解決済み] C++のポリモーフィズム

    質問 AFAIKです。 C++は3種類のポリモーフィズムを提供します。 仮想関数 関数名のオーバーロード 演算子のオーバーロード 上記の3種類のポリモーフィズムの他に、他の種類のポリモーフィズムが存在します。 実行時 コンパイル時 アドホックなポリモーフィズム パラメトリックポリモーフィズム 私は、以下のことを知っています。 実行時ポリモーフ

    2022-06-27 08:58:22
  • [解決済み] c++11のラムダは使用しない変数を捕捉するか?

    質問 を使用する場合 [=] を使って、すべてのローカル変数をラムダ内の値で捕捉するように指示した場合、結果的に すべて になるのでしょうか、それともすべてのローカル変数が で使用される全てのローカル変数をコピーするか、あるいは、ラムダ ? では、例えばiの場合。 vector&lt;int&gt; my_huge_vector(100000); int my_mea

    2022-06-26 20:31:27
  • [解決済み] テンプレート・パラメータとしてfloat値を使用できないのはなぜですか?

    質問 を使おうとすると float をテンプレート・パラメータとして使おうとすると、 コンパイラはこのコードを要求します、一方 int は問題なく動作します。 を使うことができないからでしょうか? float をテンプレートパラメータとして使用することができないためでしょうか? #include&lt;iostream&gt; using namespace std; te

    2022-06-26 02:05:08
  • [解決済み] ラムダのパラメータ型と戻り値の型を知ることは可能か?

    質問 ラムダが与えられたとき、そのパラメータの型と戻り値の型を把握することは可能ですか?もしそうなら、どのように? 基本的に、私は lambda_traits で、以下のような使い方ができます。 auto lambda = [](int i) { return long(i*10); }; lambda_traits&lt;decltype(lambda)&gt;::param_

    2022-06-25 19:14:51
  • [解決済み] 非アクティブな組合員へのアクセスと未定義の動作?

    質問 へのアクセスは union メンバにアクセスすることは UB であるという印象を持っていましたが、確かな参考文献を見つけることができないようです (UB であると主張する回答以外では、標準からのサポートはありません)。 つまり、未定義の動作なのでしょうか? どのように解決するのですか? この混乱は、C 言語では明示的に共用体を介した型抜きを許可しているのに対し、C++(

    2022-06-25 08:58:38
  • [解決済み] C++、'if'式での変数宣言

    質問 どうなっているのでしょうか? if(int a = Func1()) { // Works. } if((int a = Func1())) { // Fails to compile. } if((int a = Func1()) &amp;&amp; (int b = Func2())) ) { // Do stuff with a and b

    2022-06-25 08:16:09
  • [解決済み] 演算子のオーバーロード:メンバ関数と非メンバ関数?

    質問 メンバ関数として宣言されたオーバーロードされた演算子は 非対称 というのは、パラメータをひとつしか持てず、自動的に渡されるもうひとつのパラメータは this ポインタです。そのため、両者を比較する基準は存在しない。一方、オーバーロード演算子として宣言されたものは friend は 対称 というのは、同じ型の二つの引数を渡しているので、比較することができるからです

    2022-06-25 05:08:36
  • [解決済み] 関数ポインタを使ったC++メンバ関数の呼び出し

    質問 クラスのメンバ関数に対する関数ポインタを取得し、後でそのメンバ関数を特定のオブジェクトで呼び出すにはどうしたらよいでしょうか。 書きたいのですが。 class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &amp;Dog::bark; (*

    2022-06-25 03:08:31
  • [解決済み] なぜGCCでx86の整数オーバーフローは無限ループを引き起こすのですか?

    質問 以下のコードはGCCで無限ループになります。 #include &lt;iostream&gt; using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout &lt;&lt; i &lt;&lt

    2022-06-24 11:16:44
  • [解決済み] 独自のSTLコンテナを作成する

    質問 どのように新しいコンテナを書けば、他のコンテナと同じように動作するのか、ガイドラインはありますか? STL コンテナ? どのように解決するのですか? 以下は、§23.2.1 からつなぎ合わせたシーケンス擬似コンテナです。 iterator_category であるべきです。 std::input_iterator_tag , std::output_iterator_ta

    2022-06-23 20:21:37