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

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

2
AndroidでC ++からJavaメソッドを呼び出す
Javaがネイティブメソッドを呼び出す間に、C ++から単純なJavaメソッド呼び出しを取得しようとしています。Javaコードは次のとおりです。 public class MainActivity extends Activity { private static String LIB_NAME = "name"; static { System.loadLibrary(LIB_NAME); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView) findViewById(R.id.textview); tv.setText(this.getJniString()); } public void messageMe(String text) { System.out.println(text); } public …

6
未使用のメンバー変数はメモリを消費しますか?
メンバー変数を初期化し、それを参照/使用しないと、実行時にRAMをさらに消費しますか、またはコンパイラーは単にその変数を無視しますか? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; 上記の例では、メンバー 'var1'が値を取得し、コンソールに表示されます。ただし、「Var2」はまったく使用されません。したがって、実行時にそれをメモリに書き込むと、リソースの無駄になります。コンパイラーはこのような状況を考慮に入れて、未使用の変数を単に無視しますか、またはメンバーが使用されているかどうかに関係なく、Fooオブジェクトは常に同じサイズですか?
91 c++  memory  struct 

8
CMakeを使用してVisual Studio C ++プロジェクトファイルを生成する
LinuxとWindowsでコンパイルするコードのために、オープンソースのC ++プロジェクトに取り組んでいます。Linux上でCMakeを使用してコードをビルドしています。開発のセットアップと政治的な理由から、WindowsではVisual Studioプロジェクトファイル/エディターを使用する必要があります(たとえば、Code :: Blocksに切り替えることができません)。こちらのように、CMakeを使用してVisual Studioファイルを生成する手順が表示されます。 以前にCMakeを使用してVisual Studioファイルを生成したことがありますか?あなたの経験はどうですか?プロジェクトに新しいファイルを追加したいとします。これのワークフローは何ですか?


3
ラムダの明示的な戻り型
このコード(VS2010)をコンパイルすると、次のエラーが発生します。 error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results<std::string::const_iterator> what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start with a hash (#) // or have nothing but white-space …

2
名前は同じだがシグネチャが異なる関数
同じ名前の関数がありますが、基本クラスと派生クラスで署名が異なります。派生クラスから継承する別のクラスで基本クラスの関数を使用しようとすると、エラーが発生します。次のコードを参照してください。 class A { public: void foo(string s){}; }; class B : public A { public: int foo(int i){}; }; class C : public B { public: void bar() { string s; foo(s); } }; gccコンパイラーから次のエラーを受け取ります。 In member function `void C::bar()': no matching function for call to `C::foo(std::string&)' candidates are: …

4
演算子<<は引数を1つだけ取る必要があります
ああ #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... 私がコンパイルすると、それは言う: std :: ostream&logic :: operator &lt;&lt;(std :: ostream&、A&) 'は引数を1つだけ取る必要があります。 何が問題ですか?

5
ライブラリパスの設定を指定する方法は?
私が使用したC ++プログラムをコンパイルしていますg++とld。.soリンク時に使用したいライブラリがあります。ただし、同じ名前のライブラリがに存在し/usr/local/lib、ld直接指定しているライブラリよりもそのライブラリを選択しています。どうすれば修正できますか? 以下の例では、私のライブラリファイルは/my/dir/libfoo.so.0です。私が試したことはうまくいきません: 私のg ++​​コマンドは g++ -g -Wall -o my_binary -L/my/dir -lfoo bar.cpp en`変数の/my/dir先頭または末尾に追加する$PATH /my/dir/libfoo.so.0引数としてg ++に追加する
91 c++  linker  g++ 



6
C ++でのポインターの削除
コンテキスト:私はポインターを頭にかぶろうとしています。数週間前に学校でそれらを見ただけで、今日練習しているときに、ばかげたことに遭遇しましたか?問題、それはあなたにとって非常に簡単ですが、プログラミングの経験はほとんどありません。 私はSOの中でポインタの削除についてかなり多くの質問を見てきましたが、それらはすべて「単純な」ポインタ(または適切な用語が何であれ)ではなくクラスの削除に関連しているようです、これが私がしようとしているコードです実行: #include &lt;iostream&gt;; using namespace std; int main() { int myVar, *myPointer; myVar = 8; myPointer = &amp;myVar; cout &lt;&lt; "delete-ing pointers " &lt;&lt; endl; cout &lt;&lt; "Memory address: " &lt;&lt; myPointer &lt;&lt; endl; // Seems I can't *just* delete it, as it triggers an error delete myPointer; cout …

4
std :: setを反復する方法?
私はこのコードを持っています: std::set&lt;unsigned long&gt;::iterator it; for (it = SERVER_IPS.begin(); it != SERVER_IPS.end(); ++it) { u_long f = it; // error here } -&gt;first価値はありません。どのようにして値を取得できますか?
91 c++  set  iteration 

8
クラス内外の関数宣言
私はC ++を学ぼうとしているJAVA開発者ですが、標準の関数宣言のベストプラクティスが何であるかはよくわかりません。 クラスで: class Clazz { public: void Fun1() { //do something } } または外: class Clazz { public: void Fun1(); } Clazz::Fun1(){ // Do something } 2番目のものは読みにくくなる可能性があると感じています...
91 c++  inline 

9
同じクラスの別のオブジェクトのプライベートフィールドにアクセスする
class Person { private BankAccount account; Person(BankAccount account) { this.account = account; } public Person someMethod(Person person) { //Why accessing private field is possible? BankAccount a = person.account; } } デザインを忘れてください。OOPは、プライベートオブジェクトがクラスに対してプライベートであることを指定していることを知っています。私の質問は、プライベートフィールドがオブジェクトレベルのアクセスではなくクラスレベルのアクセスを持つようにOOPが設計されたのはなぜですか?
91 java  c++  .net  oop 

11
C ++での静的配列と動的配列
C ++の静的配列と動的配列の違いは何ですか? クラスの割り当てを行う必要がありますが、静的配列は使用せず、動的配列のみを使用するように指示されています。私は本とオンラインを調べましたが、理解していないようです。 静的はコンパイル時に作成され、動的は実行時に作成されると思いましたが、これをメモリ割り当てと間違えている可能性があります。 C ++の静的配列と動的配列の違いを説明できますか?

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