タグ付けされた質問 「c++」

C ++は汎用プログラミング言語です。もともとCの拡張として設計され、構文は似ていますが、現在は完全に異なる言語になっています。このタグは、C ++コンパイラでコンパイルされる(される)コードに関する質問に使用します。特定の標準リビジョン[C ++ 11]、[C ++ 14]、[C ++ 17]または[C ++ 20]などに関連する質問には、バージョン固有のタグを使用します。

1
最高のC ++コードフォーマッタ/ビューティファイア
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 ソースコードのフォーマットツールはたくさんあります。C ++に最適なものはどれですか。 コマンドラインツールや、コードのチェックイン/チェックアウト時に自動的に実行できる、できればエディターやIDEを起動する必要のないものに興味があります。 (もしあなたが気に入ったものをすでに回答としてリストしているなら、投票してください。もしなければ、追加してください。)

5
ブーストパスタイプを文字列に変換する方法は?
こんにちは私は現在、ファイルの場所の完全なパスを取得し、次のタイプの変数に入れられるプログラムを持っています:boost :: filesystem2 :: path 私はこれを行う方法を調べ、それを使用してそれを見つけました: string result1 = boost::filesystem::basename (myPath) パスを文字列に変換しますが、ファイル名のみを変換します(たとえば、パスが "C:\ name \ bobsAwesomeWordDoc.docx"の場合、 "bobsAwesomeWordDoc"を返します)。 パス全体を文字列に変換する方法については以下を見つけましたが、プログラムに実装する方法がわかりません。複数の方法を試しましたが、変換エラーが発生します。 const std :: string&string():このルーチンは、パスが初期化された文字列のコピーを、パスの文法規則に従ってフォーマットして返します。 (ここにあります) 私が試してみました: string result1 = string& (myPath); と他のいくつかのバリエーション。
127 c++  boost  path 



3
デフォルト/コピー/移動トラクターおよびコピー/移動割り当て演算子の自動生成の条件?
通常、コンパイラーがデフォルトのコンストラクター、コピーコンストラクター、および代入演算子を自動生成する条件で、メモリを更新します。 いくつかのルールがあったことを思い出しますが、覚えていません。また、信頼できるリソースをオンラインで見つけることもできません。誰か助けてもらえますか?


4
C ++ 11で型を移動不可能にするのはいつですか?
これが検索結果に表示されないことに驚いたのですが、C ++ 11での移動のセマンティクスの有用性を考えると、誰かが以前にこれを尋ねたのではないかと思いました。 C ++ 11でクラスを移動不可能にする必要があるのはいつですか(または私にとっては良い考えですか)? (理由他の既存のコードとの互換性の問題より。)

1
動的にリンクされると、共有ライブラリのグローバル変数と静的変数はどうなりますか?
グローバルと静的変数を持つモジュールがアプリケーションに動的にリンクされたときに何が起こるかを理解しようとしています。モジュールとは、ソリューション内の各プロジェクトを意味します(ビジュアルスタジオでよく仕事をしています!)。これらのモジュールは、*。libまたは* .dllまたは* .exe自体に組み込まれています。 アプリケーションのバイナリには、データセグメント内の個々のすべての翻訳単位(オブジェクトファイル)のグローバルデータと静的データ(およびconstの場合は読み取り専用データセグメント)が含まれていることを理解しています。 このアプリケーションがロード時の動的リンクを備えたモジュールAを使用するとどうなりますか?DLLにはグローバルとスタティックのセクションがあると思います。オペレーティングシステムはそれらをロードしますか?もしそうなら、彼らはどこにロードされますか? そして、アプリケーションがランタイム動的リンクでモジュールBを使用するとどうなりますか? アプリケーションにAとBの両方を使用する2つのモジュールがある場合、AとBのグローバルのコピーは以下のように作成されますか(それらが異なるプロセスの場合)? DLL AおよびBはアプリケーショングローバルにアクセスできますか? (理由も記入してください) MSDNからの引用: DLLソースコードファイルでグローバルとして宣言された変数は、コンパイラとリンカーによってグローバル変数として扱われますが、特定のDLLをロードする各プロセスは、そのDLLのグローバル変数の独自のコピーを取得します。静的変数のスコープは、静的変数が宣言されているブロックに限定されます。その結果、各プロセスには、デフォルトでDLLグローバル変数と静的変数の独自のインスタンスがあります。 そしてここから: モジュールを動的にリンクする場合、異なるライブラリが独自のグローバルのインスタンスを持っているかどうか、またはグローバルが共有されているかどうかが不明確になることがあります。 ありがとう。


8
C ++で文字列を可変回数繰り返す方法は?
C ++で文字列の先頭に「n」個のスペース(または任意の文字列)を挿入したい。std :: stringsまたはchar *文字列を使用してこれを行う直接的な方法はありますか? たとえば、Pythonでは簡単にできます >>> "." * 5 + "lolcat" '.....lolcat'
127 c++ 

4
リンカーは何をしますか?
私はいつも疑問に思っていました。コンパイラは、あなたが書いたコードをバイナリに変換することを知っていますが、リンカは何をしますか?彼らはいつも私にとって謎でした。 「リンク」とは大まかに理解しています。ライブラリとフレームワークへの参照がバイナリに追加されたときです。それ以上はわかりません。私にとってはそれは「うまくいく」だけです。動的リンクの基本も理解していますが、あまり深くありません。 誰かが用語を説明できますか?


16
C ++での16進数文字列への整数
C ++で整数を16進文字列に変換するにはどうすればよいですか? 私はそれを行う方法をいくつか見つけることができますが、それらは主にCをターゲットにしているようです。C++でそれを行うネイティブな方法はないようです。ただし、これはかなり単純な問題です。私が持っているint私は、後で印刷するために16進数文字列に変換したいのですがどれを。
127 c++  decimal  hex  int 

5
このコードスニペットでcoutが「2 + 3 = 15」を出力するのはなぜですか?
以下のプログラムの出力はなぜそれが何であるのですか? #include <iostream> using namespace std; int main(){ cout << "2+3 = " << cout << 2 + 3 << endl; } 作り出す 2+3 = 15 期待の代わりに 2+3 = 5 この質問はすでに複数のクローズ/再開サイクルを行っています。 終了に投票する前に、この問題に関するこのメタディスカッションを検討してください。
126 c++ 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.